쿼리 병합 질문 드립니다. 0 1 643

by 로터스 [SQL Query] SQL 쿼리 [2017.10.14 11:10:34]


구역     방     아이디    이름     팀   작업시간

ward    room    id        id_nm    team  duty

31010    01    404982    조아현    1    D
31010    01    400892    이성운    2    D
31010    02    404982    조아현    1    D
31010    02    400892    이성운    2    D

 

팀은 증가될 수 있습니다.   1,2,3,4,......  팀이 증가되면 사람도 추가 될듯 합니다.

구역과 방은 동일 합니다. 위에 데이터에서 보시는것처럼 동일 구조에  사람과 팀이 추가로 늘어날수 있습니다.

팀이 고정되어 있는게 아니라 증가가 될수도 있고 감소도 될수 있어서 쿼리 해결이 잘 안되어 질문드립니다.

아래와 같이 구역과 방이 같으면 한줄로 표현 하고 싶거든요 도통머리가 안굴러 갑니다. ㅠ_ㅠ

도움 좀 부탁드립니다.

ward    room    id        id_nm    team    id1        id_nm1    team1  duty

31010    01    404982    조아현    1     400892    이성운    2        D
31010    02    404982    조아현    1     400892    이성운     2        D

by 우리집아찌 [2017.10.16 09:31:19]

팀의 증가에 따라서  id_nm , team , duty 컬럼이 증가하신다면

일반 sql로는 안됩니다.

1. dynamic sql 을 사용  ( 어플리케이션에서  컬럼증가/감소 sql을 가공합니다 )

2. listagg등을 이용해서 한컬럼으로 구성한후  어플리케이션에서 split 처리합니다.  ex) 조아현/1/400892/이성운/2/D

3. ref coursor를 이용한 package를 작성해서 package 내에서 dynamic sql을 구성한다.   http://www.gurubee.net/lecture/1843

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