질문 내용 다음이 에러가 발생합니다.
SELECT A.*
FROM A
UNION ALL
SELECT A.*
FROM A
ORDER BY A.CODE
위의 쿼리문은 간단하게 만들었지만 유형을 위와 같습니다.
프로그램 안에 넣을 것이기 때문에 반드시 A.*과 같이 *을 사용해야 합니다. 서브쿼리도 있고, 프로그램 상에서 서브쿼리의 컬럼수가 달리지기 때문이거든요.
왜 ORDER BY문에서 컬럼명이 명확하지 않다는 에러가 발생하는지요?
참고로 오라클8i입니다.
> 질문 내용 다음이 에러가 발생합니다.
> SELECT A.*
> FROM A
> UNION ALL
> SELECT A.*
> FROM A
> ORDER BY A.CODE
>
> 위의 쿼리문은 간단하게 만들었지만 유형을 위와 같습니다.
> 프로그램 안에 넣을 것이기 때문에 반드시 A.*과 같이 *을 사용해야 합니다. 서브쿼리도 있고, 프로그램 상에서 서브쿼리의 컬럼수가 달리지기 때문이거든요.
> 왜 ORDER BY문에서 컬럼명이 명확하지 않다는 에러가 발생하는지요?
> 참고로 오라클8i입니다.
SELECT A.*
FROM A
UNION ALL
SELECT A.*
FROM A
ORDER BY 1,2,3.... (또는 2,3,1.. 이렇게)
Union을 사용하면 Order By절에 column명을 사용하지 않고 순서를 나타내는 숫자로 order by문을 쓴답니다.