oracle connect by 사용법 질문드립니다.(너무급합니다^^);;

oracle connect by 사용법 질문드립니다.(너무급합니다^^);;

작성일 2012.11.28댓글 1건
    게시물 수정 , 삭제는 로그인 필요

 제가 현재 하려는 것은
oracle 10g 환경에서 가로 콤마로 구분한 값들을 세로 row로 뽑으려고 합니다.

예)  tb_hello

hello_id         name             dept
--------------------------------
1                 철수           1반,2반,3반
2                 영수           1반,3반
3                 동수           2반,5반,6반,9반


이런 상태의 테이블(dept 값이 콤마로 구분)에서

쿼리를 짜서 다음같이 뽑으려고 합니다.


      name        dept
--------------------------------
      철수           1반
      철수           2반
      철수           3반
      영수           1반
      영수           3반
      동수           2반
      동수           5반
      동수           6반
      동수           9반

이러한 형태로 뽑으려고 합니다.


현재 실제 테이블에는 280개의 row가 있습니다.
그런데 제가 검색을 하며 참고한 싸이트가 있습니다.


이곳에 나온 쿼리를 보고 짜보았는데 ... 게시물에 나온 쿼리를 돌려보면 잘 나옵니다.
그래서 저도 쿼리를 보고 제 테이블을 반영시켜서 돌려보면...
돌긴 도는데..20분이 지나도 계속 돌고있습니다....280개정도의 로우가 하루종일 놔도도 결과가 나오지
않으면 문제가 있는것 같고....

제가 네이버, 구글에서 검색을 "오라클 가로를 세로로"  이런 검색어로 검색을 해보니 
관련 게시물들 내용이 보통.... 가로로 나온 값을 세로로 뿌려주는 식이더라고요. 이 내용은 제가 하려는
것과 좀 다른것 같은 생각이 들었습니다.(제가 쿼리 초보라서요 ㅠㅠ)

 고수님들..ㅠㅠ
제발 부탁드립니다. 제가 내일 오전까지 해야하는데...ㅠㅠ 걱정이 태산입니다...............ㅜㅜ;;;;
도와주십시요....!!!ㅠㅠ





#oracle connect by #oracle connect by level #oracle connect by prior #oracle connection pool 확인 #oracle connection string #oracle connection reset #oracle connect #oracle connection timeout #oracle connect by path #oracle connect_by_root

profile_image 익명 작성일 -

링크한 사이트 참조 했습니다.

 

테스트를 할 수 없어서 정확하게 맞는지는 모르겠네요.. 테스트는 질문자님의 몫;

 

select distinct hello_id, name,
ltrim(regexp_substr(','||dept||',','[^'||','||']+', 1, level ), ',') AS dept
FROM tb_hello

connect by level<= ( length(','||dept) - length(replace(','||dept, ',')) ) / length(',')
order by hello_id

oracle connect by 사용법 질문드립니...

제가 현재 하려는 것은 oracle 10g 환경에서 가로... ㅠㅠ 제발 부탁드립니다. 제가 내일 오전까지... tb_hello connect by level<= ( length(','||dept) - length(replace(','||dept...