這可能很容易,但我不太熟悉sql server和高級用法。基本上我無法爲此形成查詢。SQL Server - 在另一列不具有所有值的情況下基於ID獲取值
我有一張如下所示的表格。每個ID都有一個只有3個值(0,1,2)的類型。
ID Type
40271 0
40271 1
40271 2
40281 0
40281 1
我想只選擇沒有所有類型的ID。
輸出(自缺少第三型即2):
ID Type
40281 0
40281 1
我需要從表中選擇的所有行,其中對於每個ID,所有類型的(0,1,2)不存在。
我試過group by,有了其他的子句,但是不能很到達那裏。
我想這一點,但它給了我兩個標識
select ID
from Table
group by ID
having count(distinct Type) > 1
你想擁有count(distinct type)<3',你應該把它當作一個in/exists語句。例如'select id,type from mytable t where exists(從mytable中選擇1,其中id = t.id group by id具有count(不同類型)<3)' – ZLK
@ZLK就是這樣。只需要'計數(不同類型)<3'。我知道我很近,只是想不到。謝謝你,先生!添加它作爲答案,我會接受它。 – TheUknown