제품 유형 열을 기반으로 특정 기준을 선택하기 위해 where 절에서 case 문을 사용하는 방법을 파악하려고합니다. where 절의 첫 번째 부분은 두 시나리오에서 공통입니다. 상품 유형이 STD 인 경우 엔 EntryDate가 현재 달 전일과 어제 사이인지 확인해야합니다. 제품이 LTD 인 경우 엔 EntryDate가 어제와 이틀 전인지를 확인해야합니다.where 절 기준을 열 값을 기준으로 변경하십시오.
DECLARE @firstDayOfCurrentMonth datetime
SET @firstDayOfCurrentMonth = CAST(CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '/' + CAST(MONTH(GETDATE()) AS VARCHAR(2)) + '/01' AS DATETIME)
SELECT DCMNumber, COUNT(*) AS PriorDenied
FROM cauAssignedClaim
WHERE RecordType = 'A' AND [Status] IS NULL AND
CASE WHEN Product = 'LTD' THEN EntryDate BETWEEN @firstDayOfCurrentMonth AND GETDATE()-1
CASE WHEN Product = 'STD' THEN EntryDate BETWEEN DATEADD(Day, -7, GETDATE()-1) AND GETDATE()-1
END
GROUP BY [Status], DCMNumber
시도해 보았다! :) – Charleh
감사 작품은 훌륭합니다! – user1331734