Получил задачу, чтобы решить на основе классических менеджеров-сотрудников на одной и той же таблице задач. Имеется таблица с идентификаторами, сотрудников и Manager.
. Таблица:
EMPNO ENAME JOB MGR
---------- ---------- --------- ----------
7839 KING PRESIDENT
7698 BLAKE MANAGER 7839
7782 CLARK MANAGER 7839
7566 JONES MANAGER 7839
7654 MARTIN SALESMAN 7698
7499 ALLEN SALESMAN 7698
7844 TURNER SALESMAN 7698
7900 JAMES CLERK 7698
7521 WARD SALESMAN 7698
7902 FORD ANALYST 7566
7369 SMITH CLERK 7902
7788 SCOTT ANALYST 7566
7876 ADAMS CLERK 7788
7934 MILLER CLERK 7782
. Я пошел далеко, чтобы запросить, используя старую форму соединения (которую я не хочу)после «FROM», разделенных запятыми:
WITH e AS ( SELECT * FROM employee ),
m AS ( SELECT * FROM employee )
SELECT e.ENAME
e.JOB
m.ENAME
m.JOB
FROM e,m //dont want this
WHERE e.MGR = m.EMPNO;
Я ожидаю решения, использующего CTE без JOINS и, если возможно, без UNION, которое выдаст мне вывод:
Employee Emp# Manager Mgr#
BLAKE 7698 KING 7839
CLARK 7782 KING 7839
JONES 7566 KING 7839
MARTIN 7654 BLAKE 7698
ALLEN 7499 BLAKE 7698
TURNER 7844 BLAKE 7698
JAMES 7900 BLAKE 7698
WARD 7521 BLAKE 7698
FORD 7902 JONES 7566
SMITH 7369 FORD 7902
SCOTT 7788 JONES 7566
ADAMS 7876 SCOTT 7788
MILLER 7934 CLARK 7782