
СУБД Oracle / Лекции / Лек_ORAC / L89 / ch7_mdet
.docrem
rem CH7_MDET.SQL – Создание отчёта типа главный/подчинённый с
rem использованием оператора UNION. Такой метод
rem может применяться, если в один отчёт должны
rem войти данные/текст из разных таблиц
rem
rem Oracle9i by Example
rem by Dan Hotka
rem Que Publications June 2001
rem All Rights Reserved
-- Запрещаем доп.выводы и прочие установки
SET FEEDBACK OFF
SET VERIFY OFF
SET TERMOUT OFF
SET ECHO OFF
SET LINESIZE 45
SET PAGESIZE 55
SET HEADING OFF
TTITLE ' Employee Detail | by Department '
COLUMN DUMMY NOPRINT
BREAK ON deptno
SPOOL d:\CH3_MDET.TXT
SELECT 1 DUMMY, deptno, 'Department: ' || dname
FROM dept
UNION
SELECT 2 DUMMY, deptno, '-- -- -- -- -- -- -- -- --'
FROM dept
UNION
SELECT 3 DUMMY, deptno, RPAD(ename,11) ||TO_CHAR(sal,'$999,999')
FROM emp
UNION
SELECT 4 DUMMY, deptno, ' -- -- -- --'
FROM dept
UNION
SELECT 5 DUMMY, deptno, 'Total: ' || TO_CHAR(sal,'$999,999')
FROM (SELECT deptno, SUM(sal) sal
FROM emp
GROUP BY deptno)
UNION
SELECT 6 DUMMY, deptno, ' '
FROM dept
ORDER BY 2,1,3
/
SPOOL OFF
EXIT
Втн Окт 14 страница 1
Employee Detail
by Department
10 Department: ACCOUNTING
-- -- -- -- -- -- -- -- --
CLARK $2,450
KING $5,000
MILLER $1,300
-- -- -- --
Total: $8,750
20 Department: RESEARCH
-- -- -- -- -- -- -- -- --
ADAMS $1,100
FORD $3,000
JONES $2,975
SCOTT $3,000
SMITH $800
-- -- -- --
Total: $10,875
30 Department: SALES
-- -- -- -- -- -- -- -- --
ALLEN $1,600
BLAKE $2,850
JAMES $950
MARTIN $1,250
TURNER $1,500
WARD $1,250
-- -- -- --
Total: $9,400