要求:需要弄清楚什麼LoginIDs Default
設置爲1
但不是0
。規則是,所有LoginID可以有Default
作爲0
或1
,但對於給定的LoginID
必須至少有一個記錄0
。如下面加入同一表
表:
LoginID Default
A 0
A 1
A 1
B 1
B 1
B 1
B 1
C 0
D 0
D 1
E 0
E 1
E 1
要求:需要弄清楚什麼LoginIDs Default
設置爲1
但不是0
。規則是,所有LoginID可以有Default
作爲0
或1
,但對於給定的LoginID
必須至少有一個記錄0
。如下面加入同一表
表:
LoginID Default
A 0
A 1
A 1
B 1
B 1
B 1
B 1
C 0
D 0
D 1
E 0
E 1
E 1
你可能會尋找一些簡單的,如:
SELECT DISTINCT LoginID
FROM yourtable
WHERE Default = 1
AND LoginID NOT IN (SELECT LoginID FROM yourtable WHERE Default = 0)
最簡單的方案是使用MINUS運算符。
select loginID from your_table where default = 1
minus
select loginID from your_table where default = 0
這產生了一組具有的1
一個default
但沒有0
登錄ID的。
我傾向於使用group by
和having
接近這種類型的問題:
select loginID
from t
group by loginId
having min(default) = 1;
能否請你解釋一下多一點或增加輸出示例? –
我不認爲你需要爲此加入。 – Cheloide