2008. 6. 30. 20:27

서브쿼리 안쪽에서 Order by를 쓸경우

그런 경우가 없는것이 좋은것이고,
되도록 없게 가야 하겠지만, 부득이하게 쓰게 될 경우가 있다.
SQL Server에서는 서브쿼리에 order by를 못쓰게 오류가 나오는데, 이때는  order by가 들어가야 하는 쿼리에
Top을 100%로 지정해 주면 해결 가능하다

-- 오류발생
Select aaa,bbb
(
     Select aaa,count(cccc) as ddd from tblTest  group by aaa order by ddd
)  asdf

-- 해결
Select aaa,bbb
(
     Select top 100 percent aaa,count(cccc) as ddd from tblTest group by aaa order by ddd
)  asdf


물론, 성능이나 그런거 일단 접어두고 어쩔수 없는 경우에만 생각할것.
(성능에 대해선 확인해 보지 않았음)