--PIVOT
--Выбираем из finishQuery стобцы ([Black], [Red]), из результата обработки функцией SUM() для стобца color из запроса baseQuery
SELECT [Black] AS 'TotalBlackWeight', [Red] AS 'TotalRedWeight' FROM
(
SELECT color, Weight FROM [Production].[Product] WHERE color IN ('Black', 'Red')
) AS baseQuery
PIVOT
(
SUM(Weight) FOR color IN ([Black], [Red])
) AS finishQuery;
--UNPIVOT
--Выполняет действия, обратные оператору PIVOT, преобразуя столбцы данных в строки
CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,
Emp3 int, Emp4 int, Emp5 int);
GO
INSERT INTO pvt VALUES (1,4,3,5,4,4);
INSERT INTO pvt VALUES (2,4,1,5,5,5);
INSERT INTO pvt VALUES (3,4,3,5,4,4);
INSERT INTO pvt VALUES (4,4,2,5,5,4);
INSERT INTO pvt VALUES (5,5,1,5,5,5);
GO
SELECT * FROM pvt
SELECT VendorID, Employee, Orders
FROM
( SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5 FROM pvt ) p
UNPIVOT
( Orders FOR Employee IN ( Emp1, Emp2, Emp3, Emp4, Emp5 ) ) AS unpvt;
GO
DROP TABLE pvt
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
Разное
Если Вы хотите обменяться ссылками со мной между сайтами - пишите в контактах