Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒SQL\T-SQL⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA

T-SQL 2014: pivot и unpivot


USE AdventureWorks2014;
GO

--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

 

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru