我想找到没有序列中的特定值的记录:检查记录的序列包含一个特定值
客户表:
举例来说,我需要找到所有没有“F值”的客户。
SELECT * FROM Customer
WHERE VALUE NOT IN 'Value F'
也将返回值A,B,C等
我想找到没有序列中的特定值的记录:检查记录的序列包含一个特定值
客户表:
举例来说,我需要找到所有没有“F值”的客户。
SELECT * FROM Customer
WHERE VALUE NOT IN 'Value F'
也将返回值A,B,C等
SELECT *
FROM Customer c
WHERE NOT EXISTS (SELECT 1
FROM Customer c2
WHERE c2.CustomerID = c.CustomerID
AND VALUE = 'Value F')
NOT EXISTS可以在这里使用。
你的NOT IN语句需要看起来像这样。
SELECT *
FROM Customer
WHERE CustomerId NOT IN (SELECT CustomerID
FROM Customer
WHERE VALUE = 'Value F')
使用group by
和having
:
select customerid
from customers
group by customerid
having sum(case when value = 'Value F' then 1 else 0 end) = 0;
选择从客户*其中值= '值F' – Danimal