일련의 데이타를 가로와 세로로 표현할수 있는방법
chankyou 수험생

답변 채택시 : 0코아

답변 3 추천 0 조회 1947 2004.09.07
부서코드 계정과목 금액 1000 40000 1 1000 50000 2 1000 60000 3 2000 55000 80 2000 65000 80 3000 40000 100 3000 50000 200 3000 70000 300 .... .... 계정과목도 다양하고 부서코드도 다양합니다. 이런 데이타를 다음과 같이 표현할 수 있나요 1000 2000 3000 ..... 40000 1 100 50000 2 200 60000 3 55000 80 65000 80 70000 300 .... 이와 같이 표현할수 있는 sql이 있습니까?
댓글 (0)
목록 답변등록
일련의 데이타를 가로와 세로로 표현할수 있는방법
chankyou 2004.09.14
감사합니다. 많은 도움이 되었습니다.^^
댓글 (0)
일련의 데이타를 가로와 세로로 표현할수 있는방법
ennonia 2004.09.08
다음 SQL 문은 부서코드명에 제한은 받지 않지만... 부서코드의 최대갯수는 알아야 한다는 제한사항이 있습니다. 참고하시기 바랍니다. [ TEST 테이블 ] - 계정과목 : SUBJECTNO - 부서코드: DEPTNO - 금액: AMT [ SQL문] SELECT DECODE( GUBUN, 0, SUBJECTNO , ' ') SUBJECTNO, MAX( DECODE( RN,1,DECODE(GUBUN,0, AMT, DEPTNO )) ) COL1, MAX( DECODE( RN,2,DECODE(GUBUN,0, AMT, DEPTNO )) ) COL2, MAX( DECODE( RN,3,DECODE(GUBUN,0, AMT, DEPTNO )) ) COL3, MAX( DECODE( RN,4,DECODE(GUBUN,0, AMT, DEPTNO )) ) COL4, MAX( DECODE( RN,5,DECODE(GUBUN,0, AMT, DEPTNO )) ) COL5 FROM (SELECT SUBJECTNO,DEPTNO,AMT,GUBUN,COUNT( DECODE(GUBUN,1,1)) OVER (ORDER BY DEPTNO) RN FROM (SELECT SUBJECTNO, DEPTNO, SUM(AMT) AMT,GROUPING(SUBJECTNO) GUBUN FROM TEST HAVING GROUPING(DEPTNO) = 0 GROUP BY ROLLUP( DEPTNO, SUBJECTNO)) ) V GROUP BY DECODE( GUBUN, 0, SUBJECTNO, ' ' ) >부서코드 계정과목 금액 >1000 40000 1 >1000 50000 2 >1000 60000 3 >2000 55000 80 >2000 65000 80 >3000 40000 100 >3000 50000 200 >3000 70000 300 >.... .... > >계정과목도 다양하고 >부서코드도 다양합니다. > >이런 데이타를 다음과 같이 표현할 수 있나요 > > 1000 2000 3000 ..... >40000 1 100 >50000 2 200 >60000 3 >55000 80 >65000 80 >70000 300 >.... > >이와 같이 표현할수 있는 sql이 있습니까?
댓글 (0)
일련의 데이타를 가로와 세로로 표현할수 있는방법
ch073 2004.09.07
오라클 에서는 엑셀의 그로스탭 기능은 지원되지 않고요 부서코드 수가 고정 되었다 가정하에서 작업 하셔야 합니다. SELECT 계정과목, NVL(SUM(DECODE(부서코드,'1000',금액)),0) 부서코드_1000, NVL(SUM(DECODE(부서코드,'2000',금액)),0) 부서코드_2000, NVL(SUM(DECODE(부서코드,'3000',금액)),0) 부서코드_2000, ...................... FROM 테이블 GROUP BY 계정과목 이런식으로 할수 밖에 없습니다. >부서코드 계정과목 금액 >1000 40000 1 >1000 50000 2 >1000 60000 3 >2000 55000 80 >2000 65000 80 >3000 40000 100 >3000 50000 200 >3000 70000 300 >.... .... > >계정과목도 다양하고 >부서코드도 다양합니다. > >이런 데이타를 다음과 같이 표현할 수 있나요 > > 1000 2000 3000 ..... >40000 1 100 >50000 2 200 >60000 3 >55000 80 >65000 80 >70000 300 >.... > >이와 같이 표현할수 있는 sql이 있습니까?
댓글 (0)