Heim >Datenbank >MySQL-Tutorial >Wie kann ich Spaltenwerte aus mehreren Zeilen in Oracle SQL verketten?
Oracle SQL: Kombinieren von Spaltenwerten über mehrere Zeilen hinweg
Diese Anleitung zeigt effiziente Methoden zum Verketten von Spaltenwerten aus mehreren Zeilen in Oracle SQL. Die Funktion LISTAGG
bietet eine einfache Lösung:
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;</code>
Diese Abfrage führt die folgenden Aktionen aus:
pid
: Zeilen in der Tabelle B
werden basierend auf der Spalte pid
gruppiert.Desc
-Werte verketten: Die Funktion LISTAGG
verkettet Werte aus der Spalte Desc
für jede pid
-Gruppe. Als Trennzeichen wird ein Leerzeichen ('') verwendet.seq
: Die Verkettungsreihenfolge innerhalb jeder Gruppe wird durch die Spalte seq
bestimmt.description
: Die verkettete Zeichenfolge für jede pid
-Gruppe wird der Spalte description
zugewiesen.Um bestimmte pid
-Werte abzurufen, verknüpfen Sie diese Ergebnismenge mit der Tabelle A
.
Wichtige Überlegung: LISTAGG
ist für VARCHAR2
-Spalten optimiert. Erkunden Sie für andere Datentypen alternative Oracle-String-Aggregationstechniken.
Das obige ist der detaillierte Inhalt vonWie kann ich Spaltenwerte aus mehreren Zeilen in Oracle SQL verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!