所以我想说有这个
id some_id field_name
0 200 john
1 200 dude
3 200 man
4 201 kevin
5 201 dude
6 201 man
7 203 lisa
8 203 dudet
9 203 not man
我想要一个独特的some_id,其中一个字段项不等于kevin(或我认为不需要的任何其他可能的字段)。 Im寻找的输出是:
200
203
当我想根据现有的特定field_name值过滤掉some_id时,我已经能够轻松获得所有独特的some_id。
答案 0 :(得分:0)
您可以使用NOT EXISTS
:
SELECT DISTINCT some_id
FROM table t
WHERE NOT EXISTS (SELECT * FROM table t2
WHERE field_name = 'kevin' AND t.some_id = t2.some_id);
或EXCEPT
:
SELECT some_id
FROM table
EXCEPT
SELECT some_id
FROM table
WHERE field_name = 'kevin';