SELECT * FROM T
WHERE CASE WHEN 파라미터 = 'A' THEN A
WHEN 파라미터 = 'B' THEN B
WHEN 파라미터 = 'C' THEN C
END = 'Y'
by 앙버터
[2018.08.16 13:08:21]
SELECT *
FROM T
WHERE CASE WHEN 파라미터 = 'A' THEN 컬럼명 = 'Y'
WHEN 파라미터 = 'B' THEN 컬럼명 = 'Y'
WHEN 파라미터 = 'C' THEN 컬럼명 = 'Y'
알려주신 방법을 고민해보긴 했는데, THEN 이후의 컬럼명을 쓰는 부분이 문제가 있어서
어떻게 해야 할 지 모르겠습니다 ㅠㅠ
by 우리집아찌
[2018.08.16 13:22:13]
올려드린대로 해보세요.
변형하지 마시구요.
-- 예제 '&VAL' => 변수
WITH T ( A , B , C ) AS (
SELECT 'Y' , '' , '' FROM DUAL UNION ALL
SELECT '' , 'Y' , '' FROM DUAL UNION ALL
SELECT '' , '' , 'Y' FROM DUAL
)
SELECT * FROM T
WHERE CASE WHEN '&VAL' = 'A' THEN A
WHEN '&VAL' = 'B' THEN B
WHEN '&VAL' = 'C' THEN C
END = 'Y'
by 앙버터
[2018.08.16 13:30:34]
오 감사합니다, 이해했습니다. ㅠㅠㅠ 감사합니다
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.