안녕하세요 쿼리 질문이 있습니다. 0 4 1,662

by 오병운 [2008.12.17 20:07:21]


하루종일 머리싸매고 고민하다가 질문합니다.;; 

 

테이블에 아래와 같이 데이터가 들어있습니다.

11350 1 631140 F 20081217
11350 2 064088 F 20081218
11350 3 973033 F 20081219

 

제가 원하는 출력 데이터는

11350 631140 F 20081217 064088 F 20081218 973033 F 20081219

이렇게 데이터를 조회하고 싶은데요 이걸 어떻게 쿼리를 날려야 될까요???

by 강근삼 [2008.12.17 20:41:42]
단지 저 3개뿐이라면,

select a,
max(case when b=1 then c end),
max(case when b=1 then d end),
max(case when b=1 then e end),
max(case when b=2 then c end),
max(case when b=2 then d end),
max(case when b=2 then e end),
max(case when b=3 then c end),
max(case when b=3 then d end),
max(case when b=3 then e end)
from
(
select 11350 as a, 1 as b, 631140 as c, 'F' as d ,20081217 as e from dual
union all
select 11350 as a, 2 as b, 064088 as c,'F' as d,20081218 as e from dual
union all
select 11350 as a, 3 as b, 973033 as c, 'F' as d, 20081219 as e from dual
)
group by a

이렇게 하면 되겠죠...

by 강근삼 [2008.12.17 20:43:20]
위 방법은, 123부분이 항상 맨앞에 11350에 대해서 1,2,3 값만을 가진다면
여러개 되도 사용할 수는 있습니다만,

1,2,3 부분이 변한다면 -,-;

by 웅 [2008.12.17 22:27:19]
123부분이 순차적으로 증가한다면.. mod를 응용하면 되겠죠..

by 오병운 [2008.12.18 08:55:11]
강근삼님 웅이님 감사합니다.~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입