반응형

 

오라클 9i 이 라서.. 새로운 기능은 제공을 안하는 관계로... 무식한 방법
주소를 두 행으로 출력하기 위한 질의문

SELECT ORD
    , MAX(F_ZIP_CD) AS F_ZIP_CD
    , MAX(F_ADDR1) AS F_ADDR1
    , MAX(F_ADDR2) AS F_ADDR2
    , MAX(S_ZIP_CD) AS S_ZIP_CD
    , MAX(S_ADDR1) AS S_ADDR1
    , MAX(S_ADDR2) AS S_ADDR2
FROM
(
    SELECT
        TRUNC((ROWNUM+1)/2) AS ORD
        , DECODE(MOD(ROWNUM, 2), 1, ZIP_CD, NULL) AS F_ZIP_CD
        , DECODE(MOD(ROWNUM, 2), 1, ADDR1, NULL) AS F_ADDR1
        , DECODE(MOD(ROWNUM, 2), 1, ADDR2, NULL) AS F_ADDR2
        , DECODE(MOD(ROWNUM, 2), 0, ZIP_CD, NULL) AS S_ZIP_CD
        , DECODE(MOD(ROWNUM, 2), 0, ADDR1, NULL) AS S_ADDR1
        , DECODE(MOD(ROWNUM, 2), 0, ADDR2, NULL) AS S_ADDR2
    FROM
    (
        SELECT
            ROWNUM AS RNUM
            , ZIP_CD
            , ADDR1
            , ADDR2
        FROM TB_CUST
    )
)
GROUP BY ORD
ORDER BY ORD

 

반응형