> 답변 감사합니다.
> 쉽게 말해서요..
> 두개 테이블을 하나인것처럼 사용하고 싶거든요..
> ORDER BY A.num, B.num
> 이라고 해준다면, 우선 A 테이블의 num 으로 소트되고나서,
> 두번째로 B 테이블의 num 으로 소트 되니까..
>
> 일단, A 의 num 으로 소트해서 값이 같으면, 두번째 우선순위를 B
> 의 num 에 두게 되죠.
> 여기서 문제가 발생하거든요..
>
> 그러니까, 두 테이블에서 같이 존재하는, num 값으로 소트하고 싶습니다.
>
> 일종의, 두 테이블을 하나의 테이블로 합쳐서..
> 소트하는 거라고 보시면 되거든요..
>
> 어떻게 해야 할까요?
>
역시 설명이 부족합니다.
이것은 join에 관한 문제이므로, 정확한 설명은 SQL 책의 join 부분을
참고로 하시기 바랍니다.
예를 들어서 A_tbl에는 (a,b,c)라는 필드가 있고, B_tbl 에는 (a,b,d)라는
필드가 있다고 생각해 봅시다.
이럴 경우 A_tbl.a 와 B_tbl.b 라는 필드에 대해서 소팅을 한 결과를 출력하
길 원한다면 다음과 같은 Query가 가능합니다.
select a.a,a.c,b.a.b.d from A_tbl a, B_tbl b
order by a.a,b.a;
이럴 경우 그 결과는 어떻게 될까요. 정확히 a.a와 b.a에 의해 소팅된 결과가
나옵니다. 하지만 출력되는 리스트는 a.a,a.c,b.a,b.d 의 곱집합이 나타나게
됩니다. 이유는 join에 의한 결과이기 때문입니다. 이중 원하는 결과만을 추출
하자면 적절하게 where 절을 적어 줘야 합니다. 그렇기 때문에 저가 정확히
원하는 결과가 무엇인가를 묻는 것입니다.
질문하신 order by 절의 구문 문제는 위에 처럼 적는다고 해서 전혀 에러가
나질 않습니다. 될 수 있으면 join 에 대해 공부해 보시길 권합니다.
어차피 한번은 넘어야 할 산입니다.
|