2017-04-10 2 views
0

Ich brauche eine Hilfe. Ich muss prüfen, ob die Spaltendaten einer Tabelle in einer anderen Tabelle in derselben Datenbank mit PHP und MySQL vorhanden sind. Ich erläutere meine Tabelle unten.Wie zwei Tabellen mit PHP und MySQL zu vergleichen

db_gallery:

id  subcat_id   image 

1   60    123.png 

2   60    234.png 

3   58    456.png 

db_special_image

id  subcat_id   name  gallery_image 

1   60    aaa   123.png 

2   58    bbb   456.png 

Hier muss ich überprüfen, ob eine Galeriebild innerhalb der db_special_image Tabelle vorhanden ist. Ich muss mit subcat_id überprüfen. Angenommen, ich kenne die subcat_id=60. Ich muss jedes Bild von db_gallery überprüfen Tabelle gehört zu subcat_id=60 ist in db_special_image Tabelle vorhanden oder nicht. Wenn ein Bild dort ist, dann wird es 1 andernfalls 0 zurückgeben. Ich brauche eine Abfrage dafür. Bitte hilf mir.

+0

So möchten Sie die Liste der Bilder, die in db_special_image vorhanden sind oder nicht in db_special_image? – Hmmm

+0

ja. Ich brauche eine Abfrage dafür. – subhra

+0

Ich frage, vergleichen Sie die Bildnamen Wenn 123.png mit Subcatid 60 in beiden Tabellen vorhanden ist, dann sollte Ihre Abfrage diese Zeile als Ergebnis anzeigen. Richtig? – Hmmm

Antwort

1

Bilder zeigen, die ebenso wie db_special_image in db_gallery vorhanden sind ...

Bad innere Abfrage?

SELECT * from db_gallery WHERE db_gallery.image IN (SELECT gallery_image FROM db_special_image WHERE db_gallery.subcat_id = db_special_image.subcat_id) 

Join

SELECT * from db_gallery INNER JOIN db_special_image ON db_gallery.subcat_id = db_special_image.subcat_id AND db_gallery.image=db_special_image.gallery_image 
+0

Haben Sie es nicht getestet, können Sie bitte überprüfen und lassen Sie mich wissen, wenn irgendein Problem – Hmmm

+0

Ok, lassen Sie mich testen und lassen Sie es wissen. – subhra

+0

Willkommen, stupse, wenn noch andere Hürden. – Hmmm

1

Sie können Mysql INNER JOIN verwenden, um zwei Tabellen JOIN. dann verwenden Sie zählen ('etwas'); if it's !=0, echo "1"; else echo "0"

See this tutorial

0

Verwenden mysql INNER JOIN Das Schlüsselwort INNER JOIN Datensätze auswählt, die in beiden Tabellen Anpassungswerte aufweisen. ON db_gallery.subcat_id = db_special_image.subcat_id

SELECT name,db_gallery.subcat_id,image from db_gallery INNER JOIN db_special_image ON db_gallery.subcat_id = db_special_image.subcat_id 

wenn num_rows zählen mehr als 0 echo "1";

sonst echo "0";

Verwandte Themen