Я пытаюсь сделать «линейное слияние» в Oracle, то есть хочу получить запрос, который возвращает строки, и каждая из этих строк имеет для каждого столбца значения, которые первоначально были сохранены в других линий.«line fusion» in oracle
Например (я после documentation), скажем, у меня есть таблица EMP
служащий хранения номер сотрудника, номер его отдела и его зарплату
Как создать запрос, который возвращает столько строк как отделы, и это также возвращает максимальную заработную плату в этом отделе?
Я хочу что-то вроде этого:
EMPNO DEPTNO SAL MAX_VAL_IN_DEPT
---------- ---------- ---------- -----------------
7934 10 1300 1300
7369 20 800 800
7900 30 950 950
SELECT empno
, deptno
, sal
, FIRST_VALUE(sal IGNORE NULLS) OVER (PARTITION BY deptno ORDER BY sal ASC NULLS LAST) AS first_val_in_dept
FROM emp;
ближайший я смог найти, но я должен был бы дополнительный GROUP BY
DeptNo пункт, который я не могу добавить.