我有此数据:
Customer Name Type Domain start date end date ID Number a 10 TV 2/26/2019 5/1/2022 q001 a 11 TV 2/26/2019 5/1/2022 q002 a 12 TV 2/26/2019 5/1/2022 q003 b 11 TV 2/26/2019 5/1/2022 q004 c 10 TV 2/26/2019 5/1/2022 q005 c 11 TV 2/26/2019 5/1/2022 q006 c 12 TV 2/26/2019 5/1/2022 q007 d 12 TV 2/26/2019 5/1/2022 q008
我需要一个查询来排除所有Type
值为10
的客户的所有记录。因此,即使客户a
的第二条记录和第三条记录的类型分别为11
和12
,也应将其排除在外,因为该客户也有10
类型的记录。
根据上面的示例数据,结果集应该是这样:
Customer Name Type Domain start date end date ID Number b 11 TV 2/26/2019 5/1/2022 q004 d 12 TV 2/26/2019 5/1/2022 q008
我该怎么做?
答案 0 :(得分:3)
您可以使用NOT IN
子查询:
SELECT * FROM MyTable a
WHERE [Customer Name] NOT IN (
SELECT [Customer Name] FROM MyTable b
WHERE Type = 10
)
答案 1 :(得分:1)
使用NOT EXISTS
:
select t.* from tablename t
where not exists (
select 1 from tablename
where customername = t.customername and type = 10
)