Heim > Datenbank > MySQL-Tutorial > Wie kann ich Tabellen (Spalten in Zeilen) in PostgreSQL mit „unnest()' transponieren?

Wie kann ich Tabellen (Spalten in Zeilen) in PostgreSQL mit „unnest()' transponieren?

Linda Hamilton
Freigeben: 2025-01-04 08:34:45
Original
123 Leute haben es durchsucht

How Can I Transpose Tables (Columns to Rows) in PostgreSQL Using `unnest()`?

Tabellen transponieren: Spalten in Zeilen in PostgreSQL konvertieren

Das Transponieren von Tabellendaten durch Drehen von Spalten in Zeilen kann eine wertvolle Operation bei der Datenmanipulation sein. In PostgreSQL gibt es Methoden, um diese Umsetzung effektiv zu erreichen. Eine solche Methode beinhaltet die Nutzung der Funktion unnest().

Lösung mit unnest()

Um eine Tabelle zu transponieren, können wir eine Kombination aus unnest() und ARRAY-Aggregation verwenden. Die folgende Abfrage demonstriert die Technik:

SELECT
   unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns",
   unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
FROM view_name
ORDER BY "Columns"
Nach dem Login kopieren

Erklärung

  • Die Funktion unnest() entpackt Arrays in einzelne Elemente. In diesem Fall werden die Spaltennamen und entsprechenden Werte aus der Originaltabelle extrahiert.
  • Die ARRAY-Aggregation erstellt Arrays, um die Spaltennamen und Werte für jede Zeile zu speichern.
  • Die ORDER BY-Klausel sortiert Die Ergebnisse werden nach Spaltennamen sortiert, um sicherzustellen, dass die transponierte Tabelle das Gewünschte enthält Struktur.

Ausgabe:

Die Abfrage gibt eine transponierte Tabelle mit dem folgenden Format zurück:

Columns Values
Sl.no 1
username A
Designation XYZ
salary 10000
Sl.no 2
username B
Designation RTS
salary 50000
Sl.no 3
username C
Designation QWE
salary 20000
Sl.no 4
username D
Designation HGD
salary 34343

Hinweis: Die Originaltabelle Der Name in der Abfrage kann abhängig von Ihrem tatsächlichen Tabellennamen variieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Tabellen (Spalten in Zeilen) in PostgreSQL mit „unnest()' transponieren?. 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