CASE WHEN a.7 = b.7 THEN 'Y' ELSE 'N' END END END END END AS match_yn FROM ....
이런식으로 쓰고 있는데 같은경우 'Y'는 나오는데 다른값일경우 'N'는 아나오고 null로 나오던데 ....잘못쓴부분을 모르겠네요..ㅜ
by 임상준
[2014.01.02 11:04:43]
CASE WHEN a.3 = b.3 THEN CASE WHEN a.4 = b.4 THEN CASE WHEN a.5 = b.5 THEN CASE WHEN a.6 = b.6 THEN CASE WHEN a.7 = b.7 THEN 'Y' ELSE 'N' END END END END END AS match_yn
작성자분이 쓰신 케이스는 이거입니다.. 상위 4개 케이스 조건을 만족하지 않으면 널이 나오겠고요 상위 4개를 만족하고 맨 마지막 a.7=b.7 을 만족하지 않을때만 'N' 이 나오겠죠
by 용근님
[2014.01.02 11:06:22]
case when a3 = b3 and a4 =b4 .................then 'Y' else 'N' end
by 마농
[2014.01.02 11:21:03]
-- 작성하신 그대로만 고친다면. 각 END 마다 ELSE 'N' 을 넣어주셔야 하는데...
-- 이렇게 CASE를 중첩으로 사용하시면 복잡하기만 하죠.
CASE WHEN a.3 = b.3
AND a.4 = b.4
AND a.5 = b.5
AND a.6 = b.6
AND a.7 = b.7
THEN 'Y'
ELSE 'N'
END AS match_yn
by 아발란체
[2014.01.02 11:25:29]
IF(조건식) {
...
} ELSE IF(조건식) {
...
} ELSE IF(조건식) {
...
}
과 같이
1번째 조건이 아니면 2번째 조건으로 판변하는 것을 원하셨다면
다음과 같은 방법으로 기술되어야 합니다.
CASE
WHEN(a = 1) THEN 'A'
WHEN(a = 2) THEN 'B'
WHEN(a = 3) THEN 'C'
ELSE 'Zero'
END
기술 하신 방법은 용근님이 올려주신 것처럼
a = 1 AND b = 1 AND c = 1 AND d = 1
모든 것이 만족해야 값이 나옵니다.
by 일자코딩
[2014.01.02 13:15:40]
아..잘못이해하고있었네요..모두 감사합니다..
by Oracler
[2014.01.02 18:31:28]
들여쓰기를 잘해서 가독성을 높이는 것도 중요합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.