Heim > Datenbank > MySQL-Tutorial > Wie kann man Zeilen in Oracle mithilfe von DECODE oder PIVOT effizient in Spalten umwandeln?

Wie kann man Zeilen in Oracle mithilfe von DECODE oder PIVOT effizient in Spalten umwandeln?

Linda Hamilton
Freigeben: 2025-01-01 10:02:12
Original
635 Leute haben es durchsucht

How to Efficiently Pivot Rows into Columns in Oracle Using DECODE or PIVOT?

Zeilen in Spalten in Oracle konvertieren

Datentabellen enthalten häufig Informationen, die über mehrere Zeilen für einzelne Entitäten verteilt sind. Um die Lesbarkeit und Analyse der Daten zu verbessern, kann es von Vorteil sein, diese Zeilen in Spalten umzuwandeln. Diese Frage zeigt einen praktischen Anwendungsfall der Konvertierung einer Tabelle mit Dokumentinformationen für eine einzelne Kreditnummer in ein benutzerfreundlicheres Format.

In Oracle können Zeilen mithilfe der DECODE-Funktion oder des PIVOT effizient in Spalten umgewandelt werden Klausel. Lassen Sie uns untersuchen, wie Sie diese Methoden verwenden können, um das in der Frage dargestellte Problem zu lösen:

Verwenden der DECODE-Funktion

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 licence', document_id)) AS drivers_licence
FROM
    doc_tab
GROUP BY loan_number
ORDER BY loan_number;
Nach dem Login kopieren

Diese Abfrage verwendet die DECODE-Funktion, um die zuzuweisen document_id-Wert in die entsprechende Spalte basierend auf document_type. Die Aggregatfunktion MAX() wird verwendet, um die aktuellste document_id für jeden Dokumenttyp abzurufen.

Verwendung der PIVOT-Klausel (verfügbar in Oracle 11g)

SELECT *
FROM doc_tab
PIVOT (
  MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence')
);
Nach dem Login kopieren

Die PIVOT-Klausel bietet eine präzisere Möglichkeit, die Zeilen in Spalten umzuwandeln. Es erfordert die Angabe der Aggregationsfunktion (in diesem Fall MAX) und der zu schwenkenden Spalten.

Beide Ansätze wandeln die Zeilen effektiv in Spalten um und bieten so eine intuitivere und organisiertere Ansicht der Dokumentinformationen für jede Kreditnummer.

Das obige ist der detaillierte Inhalt vonWie kann man Zeilen in Oracle mithilfe von DECODE oder PIVOT effizient in Spalten umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage