1
안녕하세요 위와 아래의 case 문 줄을 교환 할 때 다른 값을 얻고 있습니다. 어느 쪽이 좋지 않은가. 일부 기관은 위의 쿼리의tsql의 Case 문 결과에 대한 계산
SELECT
CASE
WHEN dDate > '20130509' ANd dDate < '20130909' THEN 1
WHEN dDate > '20130609' ANd dDate < '20131109' THEN 2
WHEN dDate > '20130709' ANd dDate < '20131009' THEN 3 as DateVal,
CASE
WHEN dDate > '20130509' ANd dDate < '20130909' THEN COUNT(Encounter)
WHEN dDate > '20130609' ANd dDate < '20131109' THEN COUNT(Encounter)
WHEN dDate > '20130709' ANd dDate < '20131009' THEN COUNT(Encounter)) as Value
FROM Table 1
결과에 나를 도울 수있는 것은 변화가 위의 쿼리는 약간
SELECT
CASE
WHEN dDate > '20130609' ANd dDate < '20131109' THEN 2
**WHEN dDate > '20130509' ANd dDate < '20130909' THEN 1**
WHEN dDate > '20130709' ANd dDate < '20131009' THEN 3 as DateVal,
CASE
WHEN dDate > '20130609' ANd dDate < '20131109' THEN COUNT(Encounter)
**WHEN dDate > '20130509' ANd dDate < '20130909' THEN COUNT(Encounter)**
WHEN dDate > '20130709' ANd dDate < '20131009' THEN COUNT(Encounter)) as Value
FROM Table 1
결과는 같다
EncounterCount Date
230 1
45 2
20 3
입니다 :의 결과 위 쿼리는
EncounterCount Date
45 1
150 2
20 3
이것은 나에게 매우 이상합니다. 아무도 도와 줄 수 있어요.
이것은 날짜 범위가 겹치고 있기 때문에 발생하며, '사례'는 일반적으로 조건을 충족하는 첫 번째 올바른 표현식을 선택합니다. – Lamak
날짜 형식이 yyyymmdd 또는 yyyyddmm입니까? –