row_number 에서 case 질의 입니다.

호짱 2017.06.13 16:05 Views : 4197

안녕하세요.. 


조회 조건에 사용자가 입력 한 소팅 조건을 받아 소팅하도록 하고자 합니다.


declare

@strDat1 varchar(1). -- 1 : AAA, 2 : BBB, 3 : CCC

@strDat2 varchar(1) -- A : 오른차순 소팅, D : 내림차순 소팅




select row_number() over 

         (order by case @strDat1 when '1' then AAA case @strDat2 when 'A' then ASC else DESC end

                                          when '2' then BBB case @strDat2 when 'A' then ASC else DESC end

                                          when '3' then CCC case @strDat2 when 'A' then ASC else DESC end end) rownum..


이렇게 해도 오류가 발생이 되고, 

select row_number() over 

         (order by case @strDat1 when '1' then AAA 

                                          when '2' then BBB 

                                          when '3' then CCC end  case @strDat2 when 'A' then ASC else DESC end ) rownum..


이렇게 해도 오류가 발생되네요.. 


row_number에서 case 문을 2번 사용할수 없나요?

첫번째 case는 컬럼을 선택하는 것이고, 

두번째 case는 내림차순 오름차순으로 사용하고자 합니다. 


페이징 처리 때문에 하단에서 ORDER BY 에서 소팅을 할수 없고, 

ROW_NUMBER()를 구할때 해줘야 할것 같습니다.

조언 부탁 드리겠습니다.


No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 28300
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 15466
9881 독일 숫자 문자열 변환 문의 드립니다. 김민규_279160 2017.06.15 3429
9880 급!! 컬럼암호화,ㅠㅠ서버 재설치후 SQL 서버 버전 업그레이드 ,비대칭키,대칭키 문제.. [1] 획~~ 2017.06.15 4409
9879 Database file Shrink [1] HoyaSoft 2017.06.15 3771
9878 varbinary 타입을 텍스트 파일로 저장하려는데 안됩니다. [1] 청소부 2017.06.15 3726
9877 DB고수님들께 질문 있습니다.(간단한듯 어려운!) [2] 무마뭉 2017.06.14 3185
9876 Exerd 에서 엑셀로 import [1] 잭키올 2017.06.14 4129
9875 if 문에서 순차적 실행 GO 대신 쓸수 있는게 머가 있을까요? [2] neiyan 2017.06.13 2816
» row_number 에서 case 질의 입니다. [4] 호짱 2017.06.13 4197
9873 SQL문의 성능향상에 관한 질문 [1] niceman5 2017.06.13 3193
9872 QUERY 부탁드리겠습니다. [2] 호짱 2017.06.13 2936
9871 group by 쿼리 질문 드려요. [2] 솔총이 2017.06.12 2127
9870 MMC가 다음과 같은 오류창을 띄웁니다 영원히학생 2017.06.12 4731
9869 join문 조건 질문 드립니다 [2] 식뽕 2017.06.09 2156
9868 랜덤 게시판 페이징 기능 [2] 무마뭉 2017.06.08 2083
9867 csv 문의 드립니다. [1] goblin 2017.06.06 2275
9866 중복된 데이터(중복값)이 있을경우 1씩증가. 중복되지 않으면 1로 데이터 추출 방법 [1] 꽃보다서준 2017.06.05 2613
9865 영문 어순 관계없이 비교 [2] skytuner 2017.06.05 1465
9864 SQL Injection 해킹 방어 문의 [1] embster 2017.06.05 1871
9863 merge 문 사용 관련 문의 [3] 나는짱이야 2017.06.01 2562
9862 union 에 order by 를 각각 지정할수 있나요? [6] 문상연 2017.06.01 2621





XE Login