'WHERE'절 안에 case 문에 대한 다른 Q & A를 읽었지만 사용법을 제대로 이해할 수 없습니다. 아래에 코드 스 니펫을 게시 할 것입니다. 나는 case 문을 사용하는 방법에 관한 기본적인 원칙을 모르고 있으며, 이것이 코드가 컴파일/실행되지 않는 이유이다. 어떤 도움을 주셔서 감사합니다. i.LastShpd 내림차순SQL 사례 명세서 : Inside Where 절
에 의해
where i.status IN ('CR','L','O')
and i.FGCs > 0
and i.LastShpd > CAST(CONVERT(CHAR(11),DATEADD(DAY,-180,GETDATE()),113) AS datetime)
and (Case
When n.OnOrder IN ('0', '')
Then i.OnOrder = 0 or i.LastShpd < CAST(CONVERT(CHAR(11),DATEADD(DAY,-21,GETDATE()),113) AS datetime)))
End)
주문은 이미 적절한 문 'FROM' 'SELECT'을 가지고, 내가 위에서 무엇을 설명합니다. 이제 표시된 변수 (ecx LastShpd)를 기반으로 결과를 필터링하고 있습니다. case 서술문에서 수행하고자하는 작업은 다음과 같습니다. n.OnOrder = 0 일 때 i.OnOrder = 0 또는 i.LastShpd가 21 일보다 긴 행만 유지하려고합니다.
끝 부분 뒤에 로직을 추가해야합니다. 케이스 n.OnOrder IN ('0', '') i.OnOrder = 0 또는 i.LastShpd
damola