DB2 가로 정렬 쿼리 문의 0 1 748

by 보통인간 [DB 기타] [2020.09.24 09:46:38]


안녕하세요. 

DB2 에서 아래와 같은 형태로 쿼리를 사용하려는데 에러가 나서 문의 드립니다. 

   SELECT

      (
        SELECT SUBSTR(xmlserialize(xmlagg(xmltext(CONCAT( ', ',TRIM(AA.cd )))) as VARCHAR(1024)), 3)
        FROM
        (
            SELECT 
                 A.cd --번호
            FROM 테이블명 A
            WHERE A.컬럼명= CL.컬럼명
        ) AA
       ) MAIL_NM
    FROM 테이블명 CL

 보통 1차원적인 서브쿼리는 문제가 없는데 위와같이 한번 더 감싸면 아래와 같은 에러가 납니다. 

CL.컬럼명  은(는) 정의되지 않은 이름입니다.. SQLCODE=-204, SQLSTATE=42704, DRIVER=4.13.127 

CL.컬럼명은 파라메터를 입력하면 에러가 안나는데 그렇게 입력할 수 있는 형태는 아니여서 문의드립니다.

아니면 해당같은 형태에서 가로로 출력(결과1, 결과2, 결과3 이런식으로 .. )이 가능한 쿼리가 있다면 알려주세요. 

LISTAGG 방식을 써도 에러가 계속나네요. 

 

 

by 마농 [2020.09.24 10:20:57]

메인 테이블의 컬럼을 서브쿼리에 조건으로 줄 수 있는 경우는
1단계 뿐입니다. 2단계 아래로 조건 침투하지 못합니다.
위 쿼리의 경우엔 굳이 2단계 서브쿼리를 사용할 이유가 없어 보입니다.
서브쿼리 단계를 줄이세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입