Транспонировать набор результатов SQL
У меня есть данные в следующем формате:
Machine | week_end | widgets
A | 05-26-2013 | 5
B | 05-26-2013 | 4
A | 04-01-2013 | 6
B | 04-01-2013 | 0
Я хочу, чтобы мой набор результатов выглядел следующим образом:
Machine | 05-26-2013 | 04-01+2013 | ...
A | 5 | 6 |
B | 4 | 0 |
Я не совсем уверен, как действовать дальше - как можно транспонировать такую таблицу без необходимости явно указывать выходные дни (или что-то еще) явно в запросе? (БД - это SQL Server 2008.)
2 ответа
Решение
Вам нужно будет немного изучить SQL PIVOT
функция. Это позволит вам превращать строки в столбцы. Это должно быть то, что вы ищете, когда вы узнаете, как его применить.
Проверьте эту ссылку: Использование PIVOT и UNPIVOT
Вы можете использовать динамический поворот, чтобы сделать это. Вот отличный пример: