Проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

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

 

 


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

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

Контакты для обмена ссылками между сайтами Видео к статьям на Youtube Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и Linux Код обмена баннерами
Мои друзья: www.info-x.org - Информационный ресурс о ОС FreeBSD За сложными вещами простые действия Новости Ubuntu Linux Сообщество сисадминов Личный сайт skeletora Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика

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