我有以下代码,但我无法弄清楚如何不将它们包含在 group by 中。有些论点纯粹是针对这种情况的,仅此而已。我不能将它们包含在 group by 中。我真的不能按其他任何东西分组,因为我只需要按 TransactionTyp 获取计数,但我不断收到此错误:在选择列表中无效,因为它既不包含在聚合函数或 GROUP BY 子句中。
也许使用 CASE 是错误的方法?但是我需要根据其他字段替换一些值。
这也在 MS SQL 中。
SELECT Count(*),
CASE
WHEN a.TransactionTyp IS NOT NULL THEN a.TransactionTyp
WHEN a.ClaimStatus = 'Resolved-Deflected' THEN 'Deflected'
WHEN a.ClaimStatus = 'Resolved-NoAction' THEN 'Deflected'
WHEN a.ClaimStatus = 'Open' AND b.AssignOperator = 'PendClaim.NF_POS_Pinless' THEN 'Affiliate'
END As TransactionTyp
FROM Table1 a
LEFT JOIN Table2 b
ON a.ClaimNbr = b.ClaimDisputeNbr AND b.CreateDte = Convert(varchar,GetDate(), 101)
WHERE a.ClaimEntryDte = Convert(varchar,GetDate(),101)
AND a.ClaimTypCd IN ('DEBS', 'DEBSI', 'DBCIN', 'DBCUS')
GROUP BY TransactionTyp