Operatorii pivot și unpivot, tutorial interactiv pe sql

Antetele rândului sunt nume unice ale producătorilor care sunt luate din coloana producătorului interogării de mai sus, iar antetele coloanelor sunt tipuri de produse unice (respectiv din coloana tip). Și ce ar trebui să fie în mijloc? Răspunsul este evident - unele agregate, de exemplu, numărul de funcții (tip), care va calcula pentru fiecare producător separat numărul de modele de PC-uri, laptop-uri și imprimante care vor umple celulele corespunzătoare din acest tabel.







Aceasta este cea mai simplă versiune a PivotTable, care are doar două niveluri de ierarhie în coloane și rânduri. Ie efectuând o convoluție de-a lungul verticalei, obținem numărul de modele pentru fiecare tip de produs pentru toți producătorii și pe orizontală - numărul total de modele, indiferent de tipul fiecărui producător. Ați putea adăuga niveluri suplimentare ale ierarhiei, de exemplu, pentru a clasifica imprimantele în funcție de culoare, un laptop după dimensiunea ecranului etc.







Putem spune că tabela pivot în SQL este un tabel rezumat la un singur nivel.

Pot face o greșeală în cronologie, dar mi se pare că succesul implementării tabelului pivot în Excel a condus la apariția așa-numitelor interogări încrucișate în Access și, în final, la operatorul PIVOT din T-SQL.

În Oracle, operațiile PIVOT și DRILLDOWN (UNPIVOT) au fost externalizate către instrumentele de vizualizare OLAP, adică MS Excel, BusinessObjects, etc.

În Oracle 11g apare pivot / unpivot, dar în pivot există "subtilitate" - trebuie să specificați în mod explicit coloanele dacă rezultatul este necesar în forma tabelară. Obținerea datelor pentru coloanele care nu sunt specificate explicit este, de asemenea, posibilă, dar numai sub formă de XML.







Articole similare

Trimiteți-le prietenilor: