다음 코드를 가지고 있으며이를 그룹에 포함시키지 않는 방법을 알아내는 데 어려움이 있습니다. 인수의 일부는 순전히 사건을위한 것이고 그것이 전부입니다. 나는 그들을 그룹에 포함시킬 수 없다. 나는 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
이것은 MS SQL 서버? –
네, 사과드립니다. 예, 그렇습니다. – Dulanic