我有一张这样的桌子。
Image_ID Person_Ref FileName Effect_Ref
1 1 EU000101.jpg 1
2 1 EU000106.jpg 6
3 2 EU000201.jpg 1
4 2 EU000202.jpg 2
5 2 EU000203.jpg 3
6 3 EU000301.jpg 1
7 3 EU000306.jpg 6
8 4 EU000401.jpg 1
9 5 EU000501.jpg 1
10 5 EU000504.jpg 4
11 5 EU000505.jpg 5
12 6 EU000601.jpg 1
13 6 EU000604.jpg 4
14 6 EU000605.jpg 5
15 7 EU000701.jpg 1
16 7 EU000704.jpg 4
17 7 EU000705.jpg 5
18 8 EU000801.jpg 1
19 8 EU000806.jpg 6
现在我想得到所有那些必须有Effect_Ref的Person_Ref,比方说1,2,3
我试过这样的事情,但我知道这不是我想要的事情
select distinct * from Images where Effect_ref IN (1,2,3) order by Effect_ref
答案 0 :(得分:1)
您需要计算与您的条件匹配的记录实例(等于IN
中提供的参数的数量)。试试这个,
SELECT Person_REF
FROM tableName
WHERE Effect_REF IN (1,2,3)
GROUP BY Person_REF
HAVING COUNT(*) = 3