데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요. SQL 쿼리문 문의드립니다.
union all을 활용해 결과물 값을 뽑았는데요.
aaaa
bbbb
cccc
1111
3333
이런식으로 출력됐을때
정렬 순서를
aaaa
1111
bbbb
ccccc
3333 이렇게 하고싶은데요.
일반적인 order by로는 불가하네요.
혹시 방법이 있을까요?
추가적으로 결과물인 aaaa ,bbbb 이런 값을들 다른값으로 치환이 가능할까요?
예릴들면 aaaa 값을 eeee 값으로 표기 이런식으로요..
Comment 1
-
Terry
2016.12.27 15:48
select a.*
from (
union all 로 데이터 가져오기
) a
order by (case a.data when 'aaaa' then 1
when '1111' then 2
when 'bbbb' then 3
when 'ccccc' then 4
when '3333' then 3
end) asc
요러면 되지 싶네요..
order by 절에 있는 case 참고하셔서
select 문에서도 case when 으로 치환해주시면 됩니다.
그럼 수고하세요