我想找到沒有序列中的特定值的記錄:檢查記錄的序列包含一個特定值
客戶表:
舉例來說,我需要找到所有沒有「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