SQL*Plus, 데이터 연결 방법 – Join의 활용: Join을 이용한 소계처리

SQL*Plus, 데이터 연결 방법 – Join의 활용: Join을 이용한 소계처리

Q: 다음 그림과 같이 A, B, C의 각 소계와 총계를 출력하는 query를 작성하시요.

그림, 1

A: A, B, C를 하나의 집합을 ‘X’라고 하고, SUM을 만들기 위한 집합을 ‘Y’라고 한다(그림, 2). ‘X’와 ‘Y’를 join을 하지 않고, 묻지마 join을 하면 3 X 2 = 6개의 row가 생성된다(그림, 3).

그림, 2

그림, 3

그 후, no가 1일 때는 ‘a’로 하고 2일 때는 ‘계’로 Group By하면 결과값이 출력된다. 이 개념으로 사용된 query는 SQL*Plus, QUERY Tuning를 참조.

SELECT 
	DECODE(no, ‘1’, a, ‘계’)
	, SUM(b)
FROM XX
GROUP BY DECODE(no, ‘1’, a, ‘계’)

원문 출처
Encore – 대용량 데이터베이스

Leave a Reply