A pivot spørring i Oracle er utformet for å konvertere kolonner til rader og vice versa . Det betyr bytte vektlegging av dataene fra en søyle utgang til en utgang basert på rader , vanligvis et sammendrag av dataene som sett i følgende eksempel viser byene og navn på et sett av mennesker : By Name ----- ------------------ New York RaoNew York MillerNew York SmithNew York TailorCalifornia ZettingerCalifornia CarburosCalifornia DillonTexas RamirezTexas MartinTexas KingIn pivoted spørring, kan resultatet være: By Name ( s ) ---- --------------------------- New York Rao , Miller , Smith , TailorCalifornia Zettinger , Carburos , DillonTexas Ramirez , Martin , Kongen Instruksjoner
en
Lag en test bord og plassere all informasjon inn i en tabell som inneholder det opprinnelige formatet slik på "SQL > "-ledeteksten : en
CREATE tABLE statene (
statename VARCHAR2 ( 100 ) , etter
etternavn VARCHAR2 ( 20 )
)
/
2
Sett inn dataene i den nye " stater" table , slik at det kan hentes ut i pivot skjema : en
INSERT INTO stater VALUES ( ' New York ', ' Rao ');
INSERT INTO stater VALUES ( ' New York ', ' Miller ');
INSERT INTO stater VALUES ( ' New York ',' Smith ');
INSERT INTO stater VALUES ( ' New York ' , ' Tailor ');
< p > INSERT INTO stater VALUES ( ' California ', ' Zettinger ');
INSERT INTO stater VALUES ( ' California ', ' Carburos ');
INSERT INTO stater VALUES ( "California" , ' Dillon ');
INSERT INTO stater VALUES (' Texas ', ' Ramirez ');
INSERT INTO stater VALUES (' Texas ', ' Martin ');
< p > INSERT INTO stater VALUES ( ' Texas ', ' king' ) ;
3
Velg alle data fra den nye tabellen for å se hvordan det ser ut i dag : en
Velg * fra stater;
bør det vise lignende utgang til følgende : en
City Navn
----------------- ------
New York Rao
New York Miller
New York Smith
New York Tailor
California Zettinger
California Carburos
California Dillon
Texas Ramirez
Texas Martin
Texas king
4
Pivot spørringen ved å bruke følgende teknikk : .
SELECT a.statename , etter
- Kontroller radnummer for hvert navn og bruke den resulterende navn
MAX ( DECODE ( ar , 1 , a.surname ) )