This is an old revision of the document!
SELECT grouping(DEPARTMENT_NAME),
DEPARTMENT_NAME,
grouping(COUNTRY_NAME),
COUNTRY_NAME,
(count(EMPLOYEES.EMPLOYEE_ID)) c
FROM DEPARTMENTS , LOCATIONS , COUNTRIES , EMPLOYEES
WHERE ( (LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID) AND
(COUNTRIES.COUNTRY_ID = LOCATIONS.COUNTRY_ID) AND
(DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID) )
group by rollup (COUNTRIES.COUNTRY_NAME, DEPARTMENTS.DEPARTMENT_NAME, )
SELECT grouping(DEPARTMENT_NAME),
DEPARTMENT_NAME,
grouping(COUNTRY_NAME),
COUNTRY_NAME,
(count(EMPLOYEES.EMPLOYEE_ID)) c
FROM DEPARTMENTS , LOCATIONS , COUNTRIES , EMPLOYEES
WHERE ( (LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID) AND
(COUNTRIES.COUNTRY_ID = LOCATIONS.COUNTRY_ID) AND
(DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID) )
group by cube (COUNTRIES.COUNTRY_NAME, DEPARTMENTS.DEPARTMENT_NAME )
minus
SELECT grouping(DEPARTMENT_NAME),
DEPARTMENT_NAME,
grouping(COUNTRY_NAME),
COUNTRY_NAME,
(count(EMPLOYEES.EMPLOYEE_ID)) c
FROM DEPARTMENTS , LOCATIONS , COUNTRIES , EMPLOYEES
WHERE ( (LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID) AND
(COUNTRIES.COUNTRY_ID = LOCATIONS.COUNTRY_ID) AND
(DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID) )
group by rollup (COUNTRIES.COUNTRY_NAME, DEPARTMENTS.DEPARTMENT_NAME, )
SELECT nvl(departments.department_name, 'Summe Department') as dep,
grouping(department_name) as gd,
nvl(job_id, 'Summe Jobs') as job, grouping(job_id) as gj,
count(last_name), sum(employees.salary)
FROM departments, employees
WHERE ((departments.department_id = employees.department_id))
group by rollup (department_name, job_id)
order by department_name, job_id