Oracle Pivot: преобразование данных в таблицах становится проще
В Oracle Pivot является операцией, которая позволяет преобразовывать строки в столбцы в результирующем наборе данных. Это полезно, когда вам нужно выполнить агрегацию или сводку данных по определенным значениям.
Для использования операции Pivot в Oracle, вам необходимо использовать оператор PIVOT или функцию PIVOT XML.
Вот пример использования оператора PIVOT:
SELECT *
FROM (
SELECT department_id, employee_id, salary
FROM employees
)
PIVOT (
SUM(salary)
FOR department_id IN (10, 20, 30)
);
В этом примере мы используем таблицу "employees", где у каждого сотрудника есть "employee_id" и "salary". Мы хотим сделать сумму зарплат для каждого отдела (10, 20, 30) и отобразить результат в виде столбцов. Оператор PIVOT позволяет нам сделать это, указав сумму зарплат (SUM(salary)) и значения department_id IN (10, 20, 30).
В результате получим таблицу с колонками department_id, "10_SALARY", "20_SALARY" и "30_SALARY", где каждая строка будет представлять отдел, а в каждом столбце будет сумма зарплат для этого отдела.
Теперь рассмотрим пример использования функции PIVOT XML:
SELECT *
FROM (
SELECT department_id, employee_id, salary
FROM employees
)
PIVOT XML (
SUM(salary)
FOR department_id IN (10, 20, 30)
);
В этом случае результат будет представлен в формате XML, что может быть удобно для последующей обработки данных.
Также стоит отметить, что операция Pivot может быть настроена для применения более сложных агрегатных функций, например, COUNT, AVG, MAX, MIN и других.