본문 바로가기

MSSQL

[MSSQL] 경우에 따른 순서 출력 - ORDER BY - CASE WEHN THEN

728x90

경우에 따라 조회 쿼리문의 순서를 변경하고 싶다면 

 

order by 절에 case when then을 조합하자 .

 

ORDER BY CASE  @순서변수 WEHN  순서변수값 1 THEN      순서기준컬럼1

                                      WEHN  순서변수값 2 THEN      순서기준컬럼2

                                      WEHN  순서변수값 3 THEN      순서기준컬럼1  ......

              END                       

 

ex)

DECLARE @SORT TINYINT;    --순서 변수 정의

SET  @SORT =1                --순서 변수 값 입력

SELECT * FROM EMP


ORDER BY CASE  @SORT WHEN  1 THEN      EMPNO
                                 WHEN  2 THEN      ENAME
                                WHEN  3 THEN      JOB
                                WHEN  4 THEN      SAL
                 END

                 ASC

 

 

728x90