En pivot fråga i Oracle är avsedd att omvandla kolumner till rader och vice versa . Det betyder att växling tyngdpunkten av data från en kolonnformad utgång till en utmatning baserat på rader , vanligtvis en sammanfattning av de uppgifter som kan ses i följande exempel , som visar städer och namn på en uppsättning människor : Namn på stad ----- ------------------ New York RaoNew York MillerNew York SmithNew York TailorCalifornia ZettingerCalifornia CarburosCalifornia DillonTexas RamirezTexas MartinTexas KingIn svängs fråga , skulle utgången vara : Namn på stad ( er ) ---- --------------------------- New York Rao , Miller , Smith , TailorCalifornia Zettinger , Carburos , DillonTexas Ramirez , Martin , kung Instruktioner
1
Skapa ett test bord och placera all information i en tabell som innehåller det ursprungliga formatet så här i " SQL > " prompt :
CREATE tABLE stater (
statename VARCHAR2 ( 100 ) ,
efternamn VARCHAR2 ( 20 ) katalog
) katalog
/
2
infoga data i den nya " stater " table , så att det kan utvinnas i pivot formen :
INSERT INTO ger värden ( " New York " , " Rao ');
INSERT INTO ger värden ( " New York "," Miller ' ) ;
INSERT INTO ger värden ( ' New York ' , ' Smith ');
INSERT INTO stater VALUES ( ' New York ' , ' Tailor ' ) ;
INSERT INTO ger värden ( " California " , " Zettinger ');
INSERT INTO ger värden ( " California " , " Carburos ');
INSERT INTO ger värden ( " California " , " Dillon ');
INSERT INTO ger värden ( ' Texas ' , ' Ramirez ');
INSERT INTO ger värden ( ' Texas ' , ' Martin ');
INSERT INTO ger värden ( ' Texas ' , ' King' ) ,
3
Välj alla data från den nya tabellen för att se hur det ser ut i dagsläget :
Välj * från stater ,
p Det ska visa liknande utgång till följande:
stad
Namn
----------------- ------
New York Rao
New York Miller
New York Smith