Oracle Pivot

Oracle Pivot
Dieser Beitrag deckt das Konzept der Drehung in Oracle Server mithilfe der Pivot -Klausel ab. Mit dieser Klausel können Sie die Zeilen einer Tabelle in Säulen neu ordnen. Dies stellt sicher, dass Sie Ergebnisse aus einer bestimmten Abfrage in einem Crosstab -Format erhalten können.

Einführung in Oracle Pivoting

Standardmäßig speichern relationale Datenbanken Informationen im tabellarischen Format in Spaltenwertpaaren. In einigen Fällen möchten Sie jedoch möglicherweise das Layout und die Formatierung der Daten umleiten, um eine andere Art von Informationen darzustellen.

Hier tritt eine Drehung an. In Oracle 11c eingeführt, kann die Pivot -Klausel ein bestimmtes tabellarisches Format annehmen und einen Rotationsvorgang durchführen. Dies kann dann die Zeilen in Spalten umwandeln.

Abfragesyntax

Unten finden Sie eine einfache Syntax, die die Verwendung der Pivot -Klausel in einer Oracle -Datenbank demonstriert.

Wählen Sie Column_List
Aus table_name
Pivot [xml] (
pivot_expression
pivot_for_expression
pivot_in_expression
);

Die obige Syntax enthält die folgenden Elemente:

  1. column_list - Dies gibt die Spalte an, die Sie aus der angegebenen Tabelle auswählen möchten.
  2. pivot_expression - Dies definiert die Spalten, die Sie aggregieren möchten. Dies führt eine implizite Gruppe nach Operation durch, basierend auf den im Ausdruck nicht angegebenen Spalten und den im Parameter pivot_in_expression definierten Spalten.
  3. pivot_for_expression -Dies beschreibt die Spalte, die wir gruppieren oder drehen möchten.
  4. pivot_in_expression - Dies definiert die Filterspalten für die pivot_for_expression.

Sehen wir uns ein Beispiel für Oracle Table Pivoting an.

Oracle Pivoting Beispielillustration

Angenommen, wir haben eine Bestellungstabelle, die Informationen enthält, wie in den folgenden Abfragen gezeigt:

schöpferische Bestellungen
(
idnumbernotnull,
Kunden varchar2 (50) Notnull,
order_datedate,
product_idnumber,
Mengenzahl,
Preisnummer,
Constraintorder_pk Primärschlüssel (ID)
);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (1, 'Beatriz', Datum '2022-10-10', 4500, 45, 56);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (2, 'Ali', Datum '2022-10-10', 5400, 65, 109);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (3, 'Gabriel', Datum '2022-10-11', 6400, 405, 586);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (4, 'Beatriz', Datum '2022-10-11', 5800, 55, 550);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (5, 'Beatriz', Datum '2022-10-12', 4506, 46, 700);
In Bestellungen einfügen (ID, Kunde, Order_date, product_id, Menge, Preis)
Werte (6, 'Gabriel', Datum '2022-10-11', 9001, 450, 5600);

Ausgangstabelle:

Beispiel

Das folgende Beispiel verwendet die Pivot -Klausel für Kundeninformationen und das gekaufte Produkt.

WÄHLEN AUS
(
Wählen Sie Kunden, product_id aus Bestellungen aus
)
Drehzahl
(
Count (product_id)
Für Product_id in (4500, 6400, 5800, 4506, 9001)
)
Bestellung durch den Kunden;

Ein Beispiel, das sich daraus ergibt, ist wie gezeigt:

Beispiel 2 - Aliasing Pivotted Säulen

Aliasing -Spalten Beispiel:

WÄHLEN AUS
(
Wählen Sie Kunden, product_id aus Bestellungen aus
)
Drehzahl
(
Count (product_id)
Für product_id in ('T-Shirts' 4500, 'Cooler Case' 6400, 'Audio Mic' 5800, Android Phone '4506,' Curved Monitor '9001)
)
Bestellung durch den Kunden;

Abschluss

Dieser Artikel deckt die Grundlagen der Arbeit mit dem Pivot -Befehl in Oracle -Datenbanken ab.