Сводная таблица с несколькими столбцами - PullRequest
0 голосов
/ 07 мая 2018

У меня есть таблица как:

Region|Value|Driver|
GR    |1    |capex
GR    |2    |opex

Что мне нужно сделать, так это иметь оба драйвера в виде столбцов:

Region|Capex|Opex
GR    |1    |2

Я знаю, как отменить поворот, но поворот вызывает у меня проблему, так как есть два столбца. Есть идеи, как мне этого добиться? Кстати, есть более одного Driver, но мне нужны только два

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Вы также можете использовать условное агрегирование:

select Region,
       sum(case when Driver = 'capex' then Value else 0 end) Capex,
       sum(case when Driver = 'opex' then Value else 0 end) opex
from table t
where Driver in ('capex', 'opex')
group by Region;
0 голосов
/ 07 мая 2018

Существует один столбец, который необходимо повернуть (driver) со значениями Value.

SELECT
    P.Region,
    P.capex,
    P.opex
FROM
    YourTable AS T
    PIVOT (
        MAX(T.Value) FOR T.Driver IN ([capex], [opex])
    ) AS P

Пожалуйста, просмотрите, если вам нужно MAX() (или SUM() и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...