select xx.seq,
max(decode(xx.num,1,name)) name1,
max(decode(xx.num,2,name)) name2,
max(decode(xx.num,3,name)) name3
from (select a.seq,
a.name,
(select a.num - min(b.num) + 1
from (select rownum num,
seq,
name
from test) b
where b.seq = a.seq) num
from (select rownum num,
seq,
name
from test) a ) xx
group by xx.seq
대충이런식으로 하면 될것같습니다...
데이타베이스는 오라클에서 테스트했고요...
문제는 로우로온걸 컬럼으로 자빠트려야 되는데...
로우가 가변적이죠?
이것도 어떻게 하면 될것같은데... 잘모르겠네요...
지금은 인포믹스를 사용하고 있어서...
하여튼 데이타베이스가 오라클이면 이런식으로 하면 가능할겁니다...
아니면 단순무식으로 코딩으로 구현하셔도 되고요...
다이나믹 sql로 맹그러서 decode의 갯수만큼 맹그러서 사용하면 될것같습니다...
위에 sql은 밑에 내용그대로 테이블을 맹근후 데이타 입력후 테스트한겁니다...
데이타베이스는 오라클이 좋긴한데... 아직 저도 내공의 힘이 부족하여...
즐프하세요...
번호 이름 전화 주소 ----------------------- 1 가 나 다 1 사 나 다 1 라 가 사 2 송 나 랑 2 감 하 히 3 주 경 히 3 호 남 선 이런테이블이 있을때..a라는 필드로 그룹지어 b값을 뽑아서 디비그리드에 뿌리려고 그러거든요~!! 근데..잘...
max(decode(xx.num,1,name)) name1,
max(decode(xx.num,2,name)) name2,
max(decode(xx.num,3,name)) name3
from (select a.seq,
a.name,
(select a.num - min(b.num) + 1
from (select rownum num,
seq,
name
from test) b
where b.seq = a.seq) num
from (select rownum num,
seq,
name
from test) a ) xx
group by xx.seq
대충이런식으로 하면 될것같습니다...
데이타베이스는 오라클에서 테스트했고요...
문제는 로우로온걸 컬럼으로 자빠트려야 되는데...
로우가 가변적이죠?
이것도 어떻게 하면 될것같은데... 잘모르겠네요...
지금은 인포믹스를 사용하고 있어서...
하여튼 데이타베이스가 오라클이면 이런식으로 하면 가능할겁니다...
아니면 단순무식으로 코딩으로 구현하셔도 되고요...
다이나믹 sql로 맹그러서 decode의 갯수만큼 맹그러서 사용하면 될것같습니다...
위에 sql은 밑에 내용그대로 테이블을 맹근후 데이타 입력후 테스트한겁니다...
데이타베이스는 오라클이 좋긴한데... 아직 저도 내공의 힘이 부족하여...
즐프하세요...