|
Программирование >> Преобразование значений null
Далее с помощью UNION ALL находим суммы всех заработных плат по должностям (JOB): select deptno, job, TOTAL BY DEPT AND JOB as category, sum(sal) as sal from emp group by deptno, job union all select null, job, TOTAL BY JOB, sum(sal)
Следующий шаг - с помощью UNION ALL находим суммы всех заработных плат по отделам (DEPTNO): select deptno, job, TOTAL BY DEPT AND JOB as category, sum(sal) as sal from emp group by deptno, job union all select null, job, TOTAL BY JOB, sum(sal) from emp group by job union all select deptno, null, TOTAL BY DEPT, sum(sal) from emp group by deptno DEPTNO JOB CATEGORY 10 CLERK TOTAL BY DEPT AND JOB 1300 10 MANAGER TOTAL BY DEPT AND JOB 2450 10 PRESIDENT TOTAL BY DEPT AND JOB 5000 20 CLERK TOTAL BY DEPT AND JOB 1900
всех заработных плат таблицы EMP: select deptno, job, TOTAL BY DEPT AND JOB as category, sum(sal) as sal from emp group by deptno, job union all select null, job, TOTAL BY JOB, sum(sal) from emp group by job union all select deptno, null, TOTAL BY DEPT, sum(sal) from emp group by deptno union all select null,null, GRAND TOTAL FOR TABLE, sum(sal) from emp DEPTNO JOB CATEGORY
Этот отчет включает сумму всех заработных плат по DEPTNO и JOB (для каждой должности по отделам), сумму всех заработных плат по DEPTNO (по отделам), сумму всех заработных плат по JOB (по должностям) и, наконец, общую сумму заработных плат (сумму всех заработных плат таблицы EMP). Уровни агрегации должны быть четко обозначены. Для каждого значения должно быть точно определено, к какой категории оно относится (т. е. представляет ли данное значение столбца SAL сумму по DEPTNO? По JOB? Общую сумму?) Требуется получить следующее результирующее множество: DEPTNO JOB SAL DEPTNO SUBTOTALS JOB SUBTOTALS 29025 30 TOTAL BY DEPT 9400 GRAND TOTAL FOR TABLE 29025 Как выявить строки, в которых представлены не подсуммы Задача При создании отчета использовалось расширение CUBE оператора GROUP BY. Как отличить строки, сформированные обычным оператором GROUP BY, и строки, являющиеся результатом выполнения CUBE или ROLLUP? Ниже представлено результирующее множество, возвращаемое запросом, в котором для анализа заработных плат таблицы EMP используется расширение CUBE оператора GROUP BY:
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |