MySQL - 如何不返回匹配

时间:2017-05-01 15:50:19

标签: mysql

对不起,标题可能很含糊,但不能想到缩短我想要的东西...

基本上有2个表,一个包含唯一ID和其他主要字段,一个辅助功能表。每个唯一ID在要素表中有一行或多行,带有2个字符代码。 e.g ...

uid | feature
----|--------
001 | AA
002 | AA
002 | AB
003 | AB

当找到具有某个功能的内容时,这很简单,并使用左连接到主表,并在(' AA',' AC')等中使用where功能。但问题是当试图排除具有特定功能的东西时。

使用上面的示例,如果我只想显示不具有AB功能的uid(例如只有001),我就不能使用"其中功能!=' AB'&#34 ;因为这仍将返回002(由于AA功能)。

无论如何都在做我需要的事情吗?

1 个答案:

答案 0 :(得分:1)

您可以使用not in with subselect

select uid from my_table 
where uid not in  (select uid from my_table where  feature = 'A')