Heim >Datenbank >MySQL-Tutorial >Wie wandele ich Zeilen in Oracle mit DECODE und PIVOT in Spalten um?
So konvertieren Sie Zeilen in Spalten in Oracle
In Oracle können Sie mit Szenarien konfrontiert werden, in denen Daten in Zeilen angeordnet sind, dies aber sein muss säulenförmig angezeigt. Dieser Artikel befasst sich mit den Methoden zum Konvertieren von Zeilen in Spalten mithilfe der DECODE-Funktion oder der PIVOT-Klausel.
Betrachten Sie die folgende Tabelle mit Darlehensdetails:
LOAN NUMBER DOCUMENT_TYPE DOCUMENT_ID 992452533663 Voters ID XPD0355636 992452533663 Pan card CHXPS5522D 992452533663 Drivers license DL-0420110141769
Um die Zeilen in Spalten zu konvertieren, Sie können die DECODE-Funktion verwenden:
SELECT loan_number, MAX(DECODE(document_type, 'Voters ID', document_id)) AS voters_id, MAX(DECODE(document_type, 'Pan card', document_id)) AS pan_card, MAX(DECODE(document_type, 'Drivers license', document_id)) AS drivers_licence FROM doc_tab GROUP BY loan_number ORDER BY loan_number;
Diese Abfrage erzeugt Folgendes Ausgabe:
LOAN_NUMBER VOTERS_ID PAN_CARD DRIVERS_LICENCE ------------- -------------------- -------------------- -------------------- 992452533663 XPD0355636 CHXPS5522D DL-0420110141769
In Oracle-Versionen 11g und höher bietet die PIVOT-Klausel eine einfachere Möglichkeit, das gleiche Ergebnis zu erzielen:
SELECT * FROM doc_tab PIVOT ( MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers license') );
Beide Methoden können Zeilen effektiv in Spalten umwandeln, was Folgendes ermöglicht Sie können Ihre Daten im bevorzugten Format bearbeiten und anzeigen.
Das obige ist der detaillierte Inhalt vonWie wandele ich Zeilen in Oracle mit DECODE und PIVOT in Spalten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!