Классика баз данных - статьи



         

Функции PIVOT и UNPIVOT - часть 2


Посмотрев планы исполнения примера, приведенного выше и примера, с использованием функции PIVOT, можно убедиться в их идентичности.

Функция UNPIVOT выполняет процедуру обратную PIVOT, "разворачивая" обратно таблицу данных, подвергшихся "обработке" функцией PIVOT , в исходное состояние. Положим, что для ведения статистики имеется следующая таблица CREATE TABLE [Statistics]( [Model] [nvarchar](32) NOT NULL, [2005] [int] NOT NULL, [2004] [int] NOT NULL

)

содержащая данные, полученные в ходе выполнения предыдущего запроса – примера использования функции PIVOT. SELECT * FROM [Statistics] UNPIVOT(TotalQuantity FOR [Year] IN ([2005], [2004])) AS PVT

Результатом выполнения будет таблица трех из столбцов: Model, TotalQuantity, Year. Model TotalQuantity Year ------------------------------------------ A75-S206 10 2004 A75-S206 24 2005 M40-110 17 2004 M40-110 38 2005




Содержание  Назад  Вперед