SELECT COL1,COL2 FROM TAB1 UNION ALL SELECT COL1,COL2 FROM TAB2 ORDER BY 1 DESC, 2
이런식이면 COL1은 내림차순, COL2는 오름차순으로 정렬되는데요.
문제는 ㅠㅠ
COL2를 정렬하고자 할때, COL1의 값을 기준으로 해서
어느 경우일때는 COL2를 내림차순으로 정렬하고,
또 어느 경우일때는 COL2를 오름차순으로 정렬 할 수 있을까요?
by 부쉬맨
[2012.10.05 13:07:59]
ORDER BY 1 DESC, 2 asc
by 아발란체
[2012.10.05 13:17:51]
ORDER BY 1, 2 >> COL1 오름, COL2 오름 ORDER BY 1 DESC, 2 >> COL1 내림, COL2 오름 ORDER BY 1, 2 DESC >> COL1 오름, COL2 내림 ORDER BY 1 DESC, 2 DESC >> COL1 내림, COL2 내림
즉 부분적으로 변수화 하여 어쩔 경우에 따라 DESC를 넣고 빼고(또는 ASC, DESC) 하면 됩니다. 혹 ORDER BY절에 "CASE WHEN(VAL == 1) THEN ASC ELSE DESC END"를 원하신게 아니라면용.