РЕДАКТИРОВАТЬ: Для тех, кто говорит, что это ясное и очевидное «Нет»: Конечно, я полагал, что это так, и иерархические заголовки выходили за рамки результатов запроса SQL. Однако, помимо некоторой работы Mysql, я только что совершил прыжок со старой устаревшей платформы SQL Server 2000 на Oracle 12g и обнаружил там вещи, которые я даже представить себе не мог в SS 2000, поэтому я думал, что спрошу. Я пишу множество SQL, чтобы заполнить свой уровень представления в нескольких системах создания отчетов, и поэтому я исследую этот скачок вперед в возможностях SS 2000.
Возможно, я слишком много прошу от Oracle Функция поворота, но это то, что я пытаюсь сделать. Я могу выполнить поворот на одном уровне, но мне нужна иерархия группировки столбцов с несколькими мерами, как это можно было бы легко сделать в кросс-таблице электронной таблицы. Вот пример данных и желаемый результат:
select *
from(
select 'A' rws, 'X' cols, 2 v1, 90 v2 from dual union
select 'A' rws, 'Y' cols, 25 v1, 112 v2 from dual union
select 'A' rws, 'Y' cols, 7 v1, 64 v2 from dual union
select 'B' rws, 'X' cols, 4 v1, 117 v2 from dual union
select 'B' rws, 'Y' cols, 46 v1, 32 v2 from dual union
select 'B' rws, 'X' cols, 0 v1, 18 v2 from dual
)
Вот результат, который мне нужен:
-----------------------------------------------------------
| A | B |
-----------------------------------------------------------
| X | Y | X | Y |
-----------------------------------------------------------
| v1 | v2 | v1 | v2 | v1 | v2 | v1 | v2 |
-----------------------------------------------------------
| 2 | 90 | 32 | 176 | 4 | 135 | 46 | 32 |
-----------------------------------------------------------