T-SQL помогите с несколькими пивотами / unpivot
-
25-09-2019 - |
Вопрос
Я не уверен, что будет лучшим поворотом или нетни. У меня есть следующий столбец в одной таблице.
group1 | group2 | group3 | amtA1 | amtA2 | amtB1 | amtB2 | amtC1 | amtC1
и мне нужно для продукта таблицы, как
group1
X | amtA1 | amtB1 | amtC1
Y | amtA2 | amtB2 | amtC2
group2
X | amtA1 | amtB1 | amtC1
Y | amtA2 | amtB2 | amtC2
group3
X | amtA1 | amtB1 | amtC1
Y | amtA2 | amtB2 | amtC2
Я стараюсь изо всех сил, однако не мог понять. Любая помощь будет оценена.
Решение
Пытаться
SELECT group1 As Group, "X" as ColType, amtA1 as ColA, amtB1 as ColB, amtC1 as ColC
UNION
SELECT group1, "Y", amtA2, amtB2, amtC2
UNION
SELECT group2, "X", amtA1, amtB1, amtC1
UNION
SELECT group2, "Y", amtA2, amtB2, amtC2
UNION
SELECT group3, "X", amtA1, amtB1, amtC1
UNION
SELECT group3, "Y", amtA2, amtB2, amtC2
Теперь вы можете легко группировать на основе столбца «Группа».
Хотя у меня было бы «обсуждение» о нормализации таблицы с кем-то в вашей организации.
Не связан с StackOverflow