Справка по T-SQL с несколькими точками поворота / разворота - PullRequest
1 голос
/ 09 декабря 2010

Я не уверен, что будет лучшим или непивотным. У меня есть следующий столбец в одной таблице.


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

Я стараюсь изо всех сил, но не могу понять. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 10 декабря 2010

Попробуйте

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

Теперь вы можете легко группировать данные по столбцу "Группа".

, хотя у меня будет "обсуждение" нормализации таблиц с кем-то в вашей организации.

...