私はこのSQLテーブルを持っています:
name | id_photo
================
word1 | 38
word2 | 38
word7 | 39
word1 | 31
word2 | 31
そして、name = word1 AND name = word2 などのすべての id_photo を調査したいと思います。たとえば、このケースは、リターン 38,31 として持ちたいです。
誰かが解決策を提案できますか?
SELECT ID_PHOTO
FROM tableNAME
WHERE name IN ('word1','word2')
GROUP BY ID_PHOTO
HAVING COUNT(*) = 2
それぞれの名前に一意のキーが指定されていない場合は、内部id_photo
で使用しますdistinct
COUNT
SELECT ID_PHOTO
FROM tableNAME
WHERE name IN ('word1','word2')
GROUP BY ID_PHOTO
HAVING COUNT(DISTINCT name) = 2