Я пытаюсь выполнить «объединение строк» в Oracle, т. Е. Я хочу получить запрос, который возвращает строки, и каждая из этих строк имеет для каждого столбца значения, которые изначально были сохранены в других строках.
Например (я следую документации ), скажем, у меня есть таблица сотрудников 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, которое я не могу добавить.