데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
다른게 아니로
예를들어 select * from test where testid in (3, 1, 2) 로 select 를 하게되면
db저장값의 물리적인 순서데로 결과가 보여집니다 .다시말해서
testid => 1
2
3
형태로 보여지게됩니다.
저는
있는그대로 3, 1, 2 순서로 결과값이 보여져야 하거든요
어떻게 하면 될까요?
Comment 3
-
건우아빠
2012.11.29 09:17
http://www.sqler.com/517715이 게시물을 참고 하시면 될듯 합니다. -
향지
2012.11.29 09:43
SELECT IDX
FROM TBL1
ORDER BY CASE WHEN IDX = 1 THEN 2
WHEN IDX = 2 THEN 3
WHEN IDX = 3 THEN 1
ELSE 100 END
이런식으로 ORDER BY절에 CASE 문을 활용해도 됩니다.
값이 많으면 노가다가 필요한데 엑셀을 응용해도 됩니다!?
-
진윤호
2012.11.30 14:54
UNION 방법도 있습니다.
SELECT * FRO
SELECT IDX FROM TBL1 WHERE testid=3
UNION ALL
SELECT IDX FROM TBL1 WHERE testid=1
UNION ALL
SELECT IDX FROM TBL1 WHERE testid=2
) AS T