Q&A

  • UNION과 ORDER BY에 대해서
질문 내용 다음이 에러가 발생합니다.

SELECT A.*

FROM A

UNION ALL

SELECT A.*

FROM A

ORDER BY A.CODE



위의 쿼리문은 간단하게 만들었지만 유형을 위와 같습니다.

프로그램 안에 넣을 것이기 때문에 반드시 A.*과 같이 *을 사용해야 합니다. 서브쿼리도 있고, 프로그램 상에서 서브쿼리의 컬럼수가 달리지기 때문이거든요.

왜 ORDER BY문에서 컬럼명이 명확하지 않다는 에러가 발생하는지요?

참고로 오라클8i입니다.

1  COMMENTS
  • Profile
    이희정 2001.04.05 03:29
    hs wrote:

    > 질문 내용 다음이 에러가 발생합니다.

    > 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문을 쓴답니다.