2017-04-10 19 views
0

私は助けが必要です。 1つのテーブルのカラムデータがPHPとMySQLを使用して同じデータベース内の別のテーブルに存在することを確認する必要があります。私は以下のテーブルを説明しています。PHPとMySQLを使って2つのテーブルを比較する方法

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 

私は、任意のギャラリー画像がdb_special_imageテーブル内に存在するかどうかを確認する必要があります。 subcat_idで確認する必要があります。私がsubcat_id=60を知っているとします。私はdb_galleryテーブルに属している画像を確認する必要がありますは、db_special_imageテーブルに存在するかどうかにあります。イメージがあれば、それ以外は0が返されます。これは問合せが必要です。私を助けてください。

+0

で数えるのであれば、あなたはdb_special_imageに存在db_special_imageに存在するか、していないイメージのリストをしたいですか? – Hmmm

+0

はい。それについての質問が必要です。 – subhra

+0

私は、イメージ名を比較しているのですか?123.pngとsubcatid 60が両方のテーブルに存在する場合、クエリはその行を結果として表示する必要があります。正しい? – Hmmm

答えて

1

db_galleryなどdb_special_imageに存在している画像...

悪いインナークエリを表示するには?

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) 

INNERは、JOINキーワードを使用mysql INNER 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

テストしていない場合は、問題があるかどうかチェックしてお知らせください。 – Hmmm

+0

よろしくお願いします。テストしてお知らせください。 – subhra

+0

ようこそ、他のハードルがあれば突き抜けてください。 – Hmmm

1

Mysql INNER JOINを使用すると、2つのテーブルを結合できます。 次にcount( 'something')を使用します。 if it's !=0, echo "1"; else echo "0"

See this tutorial

0

に参加し、両方のテーブル内の値に一致しているレコードを選択します。 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 

NUM_ROWS以上0 echo "1";

echo "0";

関連する問題