1
我有一個包含客戶端信息的表。該表格保存每個客戶端的許可證類型信息。按客戶端查詢的SQL組
我想查詢該表只發現誰擁有牌照類型爲2或1,沒有別的客戶的記錄。客戶可以擁有許可證類型1,2和3,這些客戶端不應該符合結果集。
感謝您對此的任何幫助。
我有一個包含客戶端信息的表。該表格保存每個客戶端的許可證類型信息。按客戶端查詢的SQL組
我想查詢該表只發現誰擁有牌照類型爲2或1,沒有別的客戶的記錄。客戶可以擁有許可證類型1,2和3,這些客戶端不應該符合結果集。
感謝您對此的任何幫助。
您可以group by
和having
做到這一點:
select clientid
from t
group by clientid
having sum(case when licensetype not in (1, 2) then 1 else 0 end) = 0;
的having
條款計數不可接受的許可證類型爲每個客戶端的數量。 = 0
說沒有。
編輯:
也許這真的是你想要什麼:
having max(licensetype) = 2 and
min(licensetype) >= 1 -- not clear if this is necessary
感謝您的答覆。該查詢確實給出了許可證類型1或2的結果。實際上有5種許可證類型(1.2.3.4.5)。我試着編輯查詢來返回客戶端只有1和2的結果。任何建議。 – Ravinesh
@Ravinesh。 。 。這個查詢應該返回只有*許可證類型1和2的客戶端,而且沒有其他的(如果可能的話,也可能是'NULL')。 –
是的,我試過查詢,但只有許可證類型1的客戶也出現在列表中。我擔心許可證類型2.對於客戶端來說,在結果集中有資格:許可證類型不能大於2,它可以小於2,但必須包含2。 – Ravinesh