SELECT CANCEL_DT ,*
FROM TBLMEMBER
WHERE LEFT(CANCEL_DT, 4) <= '2014'
and CANCEL_DT <> ''
and CANCEL_CODE = (case @c_code when '1' then '11'
when '2' then '11'
end)
GROUP BY LEFT(CANCEL_DT, 4),ACC_COUNT
ORDER BY Sup_No
저기 위에 노란 부분에서 c_code 가 1일때는 11 인것이 나오고
2일때는 11이 아닌것 이 나오게 하려고 합니다.
1일때는 나오는데 2일때 어떻게 해야될지 모르겠어요..
도와주세요~~
CANCEL_CODE가 NOT NULL 인 경우는
CANCEL_CODE = (CASE WHEN @c_code != 11 THEN CANCEL_CODE ELSE 11 END)
처럼 하시면 되지만 CANCEL_CODE가 NULL을 허용하는 경우
(
(@c_code = 1) AND CANCEL_CODE = 1
)
OR
(
(@c_code != 1) AND ((CANCEL_CODE != 1) OR (CANCEL_CODE IS NULL) )
)
처럼 하시면 됩니다.
그런데 위에 CANCEL_CODE = 11 이게 있어서 다른건 안나올 것 같네요..