Utilizarea operatorilor și unpivot pivot
Operatorii relationali PIVOT UNPIVOT și pot fi folosite pentru a modifica o expresie valorica tabelă într-un alt tabel. Operatorul PIVOT implementează expresia returnează o valoare tabel de conversie valori unice ale unei expresie coloană în mai multe coloane de ieșire, precum și, dacă este necesar, repetarea unește valorile coloanelor rămase și le afișează în ieșire. Operatorul UNPIVOT efectuează acțiunea, returnează pivoteze, transformând coloanele o expresie-evaluate tabel în valori de coloane.
PIVOT Sintaxa este mai simplă și mai intuitivă de sintaxă care poate efectua aceeași operație utilizând secvența de instrucțiuni SELECT. CASE. Descriere completa PIVOT sintaxa declarație, a se vedea. În clauza FROM (Transact-SQL).
Sintaxa de instrucțiuni PIVOT adnotată este prezentat mai jos.
SELECT <несведенный столбец>.
[Coloană First informații] AS <имя_столбца>.
[Pivotat A doua coloană] AS <имя столбца>.
[Coloană Ultimele informații] AS <имя столбца>
( <запрос SELECT, который формирует данные> )
AS <псевдоним исходного запроса>
[<столбец, который содержит значение, которые станут заголовками столбцов>]
IN ([coloana Prima informație]. [A doua pivotat pe coloană].
[Ultimele coloană Informații])
) AS <псевдоним сводной таблицы>
<необязательное предложение ORDER BY>
SELECT
[Prima coloană pivotat] AS
[Pivotat A doua coloană] AS
[Ultima coloană pivotat] AS
(
AS
[
IN ([prima coloană pivotat], [a doua coloană pivotat],
[Ultima coloană pivotat])
) AS
Acest lucru înseamnă că valorile unice ale coloanei IDAngajat câmpuri sunt finale setul de rezultate. Prin urmare, există o coloană pentru fiecare dintre IDAngajat. specificate în informațiile de invitație: în acest caz, angajații 164. 198. 223. 231 și 233. PurchaseOrderID este valorile coloanei, care include coloanele returnate în rezultatul final, numit coloane de grupare. În acest caz, valorile coloanelor de grupare sunt procesate de funcția COUNT. Rețineți că, în calculul funcției COUNT pentru fiecare angajat este emis un avertisment care vă spune că valorile coloanelor goale nu PurchaseOrderID numărate.
Prelucrarea statistică a datelor utilizând funcțiile care conțin PIVOT operatorului, coloane goale nu sunt luate în calcul valori.
Operatorul UNPIVOT efectuează acțiunea, operatorul returnează PIVOT, transformând coloanele de date din rândul. Să presupunem că tabelul creat în cursul exemplul anterior este stocată în baza de date și are identificator pvt. Să presupunem că vrem să convertească identificatori Emp1 coloane. Emp2. Emp3. Emp4 Emp5 și liniile de date grupate de către furnizori. În acest caz, este necesar să se identifice două coloane suplimentare. Asociați coloana care conține valoarea care urmează să fie convertită (Emp1. Emp2.) Numele angajatului. o coloană care conține valori rotite coloana nume comenzi. Aceste coloane sunt asociate, respectiv, cu următorii parametri în determinarea limbajului Transact-SQL, și modul în care pivot_column VALUE_COLUMN. Solicitare: