[SQL]정렬관련 질문입니다. 0 2 908

by 이승언(폴리) [SQL Query] [2013.10.15 19:47:33]


아래와 같은 예제가 있다 한다면 :GB  값에  따라 '1' 일 경우에는  SEQ 컬럼으로 ASC, '2'  인경우에는 TP 컬럼으로  DESC 를 하고 싶은데요. 가능한가요?
고수님들 답변 부탁드립니다.

WITH T AS
(
          SELECT 1 SEQ, '1' TP FROM DUAL
UNION ALL SELECT 2    , '9'    FROM DUAL
UNION ALL SELECT 3    , '1'    FROM DUAL
UNION ALL SELECT 4    , '9'    FROM DUAL
)
)
SELECT    SEQ
    ,    TP
  FROM    T
 ORDER    BY DECODE(:GB, '1', SEQ, '2', TP)
;
by 용근님 [2013.10.15 21:30:36]
Decodeㄹ 두개로 분리 하세요

 DECODE(:GB, '1', SEQ ) asc
, DECODE(:GB, '2', TP) desc

by 이승언(폴리) [2013.10.16 09:36:44]
감사합니다. ^^
분리하는 걸 전혀 생각 못 했네요.^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입