SELECT 문에서 동적으로 컬럼명을 변경할수 있나요? 0 3 4,605

by 임시아이디 [2015.10.20 10:53:58]


파라미터에 따라서 컬럼이름을 바꾸고 싶습니다.

 

컬럼

GUBUN  DATA1, DATA2,DATA3,DATA4, DATA5

   A          1         2         3         4        5

   B          2         3         4         5         6

이런데이터가 있을경우 

 

SELECT DATA&param

FROM DUAL

WHERE GUBUN = 'B'

 

파라미터가 3일경우 결과값 4가 나와야되는 형식입니다.

혹시 이렇게도 구현할수가 있나요~?

by 겸댕2후니 [2015.10.20 11:00:03]

Dynamic SQL 사용하시면 됩니다.


by 우리집아찌 [2015.10.20 11:30:38]
컬럼 5개만 있나요??

by 우리집아찌 [2015.10.20 16:48:37]
WITH T AS (
SELECT 'A' GUBUN  , '1' DATA1, '2' DATA2, '3' DATA3, '4' DATA4, '5' DATA5 FROM DUAL 
UNION ALL
SELECT 'B' GUBUN  , '2' DATA1, '3' DATA2, '4' DATA3, '5' DATA4, '6' DATA5 FROM DUAL 
)

SELECT CASE WHEN :param = 1 THEN  DATA1  
            WHEN :param = 2 THEN  DATA2
            WHEN :param = 3 THEN  DATA3
            WHEN :param = 4 THEN  DATA4
            WHEN :param = 5 THEN  DATA5 END DATA
FROM T

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입