簡體   English   中英

T-SQL獲取唯一鍵列的所有記錄,該唯一鍵列包含另一個列值

[英]T-SQL Get all records of a unique key column that contains a column value both not another

希望我能很好地描述它。 我有一個名為TruckAuftragworkflow的表,其中有一個名為TruckAppId的列和一個名為TaskId的列。 我想從該表中獲取所有TruckAppId ,其中TaskId!= 35但TaskId = 31 OR TaskId = 32。

我嘗試過但失敗了:

select count(*) AnzahlTasks, TruckAppId from TruckAuftragWorkFlow
GROUP BY TruckAppId
HAVING TaskId != 35 and TaskId in (31,32)

也許我的腦袋打了個結,但建立這樣的查詢似乎並不容易(對我來說!)。

在此處輸入圖片說明

用匯總函數計算條件

select count(*) AnzahlTasks, TruckAppId from TruckAuftragWorkFlow
GROUP BY TruckAppId
HAVING SUM(CASE WHEN TaskId = 35 THEN 1 ELSE 0 END) = 0 
   AND SUM(CASE WHEN TaskId in (31,32) THEN 1 ELSE 0 END) > 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM