SQL查询以排除已分配给组的所有记录,或者这些记录具有特定值

时间:2019-02-18 12:29:05

标签: mysql sql-server

我想检索已分组在一起的所有记录以及这些记录,如果它们中没有一个在party_type下具有VP,则需要返回所有记录。

因此,基本上,如果将记录分组在一起,并且其中一个记录等于“派对类型”下的VP,那么我应该排除所有与“派对类型= VP”记录相关联的分组

CLUSTER_ID  PARTY_NAME                                      PARTY_TYPE
35          Yorken cc                                       V  
35          Yorken cc                                       V  
35          Yorken Zim                                      V  
35          Yorken                                          V  
243         Vulcan Catering Equipment Pty Ltd               VP
243         Vulcan Catering Equipment Pty Ltd               V
243         Vulcan Catering Equipment (Pty) Ltd             V  

结果应返回归类到cluster_id 35下的所有记录,因为没有记录具有VP

2 个答案:

答案 0 :(得分:1)

您可以使用相关子查询

select * from tablename a
    where not exists (select 1 from tablename b on a.cluster_id=b.cluster_id and party_type='VP')

答案 1 :(得分:0)

从表名a中选择*     不在其中的a.CLUSTER_ID(从表名b WHERE party_type ='VP'中选择b.CLUSTER_ID)