我在select中返回了很多值的case语句,但是我只想要第一个值,因为我正在做Count。
SELECT DISTINCT
ATM.TicketID
,COUNT(CASE WHEN ((ATM.PriorityID='E' OR ATM.PriorityID='U') AND
MAX(ATQ.QuestionID) THEN 1 END)) AS [A]
.....
对于每个“E”和“U”值,有许多QuestionID(从另一个表加入)。但是每个E或U我只需要一个QuestionID。
我在使用嵌套聚合时遇到困难。
答案 0 :(得分:0)
将PriorityID移至where子句
SELECT
ATM.TicketID, ATM.PriorityID, MAX(ATQ.QuestionID)
FROM ATM
INNER JOIN ATQ ON {some criteria}
WHERE ATM.PriorityID = 'E'OR ATM.PriorityID = 'U'
GROUP BY ATM.TicketID, ATM.PriorityID