表:
ID | Value
-----------------
1 | red
1 | black
2 | green
2 | black
数组('green','orange','black');
我需要获得结果ID:2
有人可以拯救我的生命吗?
答案 0 :(得分:3)
SELECT id
FROM table
WHERE value IN ('green', 'orange', 'black')
AND id NOT IN (
SELECT id
FROM table
WHERE value NOT IN ('green', 'orange', 'black'))
答案 1 :(得分:2)
尝试:
SELECT id
FROM table
group by id
having sum(case when value IN ('green', 'orange', 'black') then 1 else 0 end) > 0
and sum(case when value NOT IN ('green', 'orange', 'black') then 1 else 0 end) = 0