Посмотрев планы исполнения примера, приведенного
Посмотрев планы исполнения примера, приведенного выше и примера, с использованием функции
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
Содержание Назад Вперед