Използването Оператори и въртене unpivot
Операторите за сравнение PIVOT UNPIVOT и може да се използва за модифициране на експресия маса ценен в друга маса. PIVOT оператор разполагането експресия връща стойност в таблицата за преобразуване на отделните стойности на един експресионен колона в множество изходни колони, както и, ако е необходимо, се повтаря обединява останалите стойности колона и ги показва на изхода. UNPIVOT оператор извършва действие, връщане на въртене, трансформиране колоните маса-ценен експресия в стойности на колоната.
Завъртете синтаксис е по-проста и по-интуитивно, отколкото синтаксис, който може да изпълнява същата операция с помощта на SELECT последователност от команди. CASE. Пълен отчет Описание PIVOT синтаксис, вижте. В ОТ клауза (Transact-SQL).
Анотиран синтаксис PIVOT инструкция е показано по-долу.
SELECT <несведенный столбец>.
[Първа колона информация] AS <имя_столбца>.
[Втората колона завърта] AS <имя столбца>.
[Последната информация колона] AS <имя столбца>
( <запрос SELECT, который формирует данные> )
AS <псевдоним исходного запроса>
[<столбец, который содержит значение, которые станут заголовками столбцов>]
IN ([Първа колона информация]. [Втората колона завърта].
[Последната информация колона])
) като <псевдоним сводной таблицы>
<необязательное предложение ORDER BY>
SELECT
[Първо завърта колона] AS
[Втората колона завърта] AS
[Последен завърта колона] AS
(
AS
[
IN ([първо завърта колона], [второ завърта колона],
[Последен завърта колона])
) като
Това означава, че отделните стойности на колоната EmployeeID полета са последния сет резултат. Следователно, налице е колона за всеки от EmployeeID. посочено в информацията за покана: в този случай, служителите 164. 198. 223. 231 и 233. PurchaseOrderID е стойности на колоните, които включват колоните върнати в крайната продукция, наречени групиране колони. В този случай, стойностите на групиране колони се обработват от функцията COUNT. Имайте предвид, че при изчисляване на функцията COUNT за всеки служител се издава предупреждение ви казва, че празните стойности на колоните не PurchaseOrderID преброени.
Статистическа обработка на данните при използване на функциите, съдържащи PIVOT оператор, празни колони не се броят ценности.
UNPIVOT оператор извършва действието върне оператора на въртене, трансформиране колони данни в реда. Да приемем, че на масата, създадени в хода на предишния пример се съхраняват в база данни и има идентификатор Pvt. Да предположим, че искате да конвертирате идентификатори Emp1 колони. Emp2. Emp3. Emp4 Emp5 и линиите на данните, групирани от доставчиците. В този случай е необходимо да се идентифицират два допълнителни колони. Задаване на колоната, съдържащ стойността трябва да се преобразува (Emp1. Emp2.), Името на служителя. колона, съдържаща стойности завърта име на колона поръчки. Тези колони са свързани съответно със следните параметри в определянето на Transact-SQL език и как pivot_column VALUE_COLUMN. Запитване: