Developer_
15
2018-12-07 15:46:29
3
123

오라클 // 칼럼 나누어 SELECT 조회 질문드립니다. 도와주시면 감사하겠습니다.


오라클 SELECT문 질문드립니다.

칼럼1은 번호정보고   칼럼2는 내용들이 담겨있습니다.

  칼럼1(NUM)      |           칼럼2

       1                   |         사과,딸기,배 

       2                   |          참외,메론

       3                   |          수박,포도

이런구조의 테이블인데 이를 출력할때

1 사과

1딸기

1배

2참외

2메론

3수박

3포도

이렇게 구분하여 출력하려고 합니다.


SELECT TRIM(REGEXP_SUBSTR(ORG_DATA, '[^,]+', 1, LEVEL)) AS SPLIT_DATA FROM (SELECT '첫번째메세지,두번째메세지,세번째메세지' AS ORG_DATA FROM DUAL) CONNECT BY INSTR(ORG_DATA, ',', 1, LEVEL - 1) > 0;

이 쿼리문을 보고 활용해서 출력해 보았는데

NUM 컬럼을 이용해 FROM 뒤에 테이블 A, (SELECT NUM, 칼럼2 ~~) B를 잡고
조건을 A.NUM =B.NUM 해서 출력을 했었습니다. 중복되는 값들이 수없이 나와서
하위쿼리를 DISTINCT를 잡았더니 원하는 출력문은 뽑았는데
테이블에 값이 조금만 많아도 두개의 컬럼을 DISTINCT하다보니 시간이 말도안되게
오래걸려서 사용할 수가 없었습니다. 어떻게 하면 좋을지 조언 부탁드립니다 ㅠㅠ
감사합니다



0
0
  • 답변 3

  • ktsedd
    6k
    2018-12-07 16:36:18

    split 이랑 concat 같이 쓰면 될거같은데요

    https://gent.tistory.com/10

    http://dongdongfather.tistory.com/29

    참고요

    0
  • 포포핀
    449
    2018-12-07 16:37:11

    https://livesql.oracle.com/apex/livesql/s/eg23eidf80om9qkt26rv815xq


    0
  • 구구구구
    687
    2018-12-07 16:42:51

    http://www.gurubee.net/article/79659

    마농님 첫댓글 사용하시면 됩니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.