0

私はこのSQLテーブルを持っています:

name  | id_photo
================
word1 | 38    
word2 | 38
word7 | 39
word1 | 31
word2 | 31

そして、name = word1 AND name = word2 などのすべての id_photo を調査したいと思います。たとえば、このケースは、リターン 38,31 として持ちたいです。

誰かが解決策を提案できますか?

4

1 に答える 1

2
SELECT ID_PHOTO
FROM tableNAME
WHERE name IN ('word1','word2')
GROUP BY ID_PHOTO
HAVING COUNT(*) = 2

それぞれの名前に一意のキーが指定されていない場合は、内部id_photoで使用しますdistinctCOUNT

SELECT ID_PHOTO
FROM tableNAME
WHERE name IN ('word1','word2')
GROUP BY ID_PHOTO
HAVING COUNT(DISTINCT name) = 2
于 2012-11-16T14:40:45.727 に答える