Heim >Datenbank >MySQL-Tutorial >Wie kann ich in Oracle SQL mehrere Zeilen zu einer einzigen Zeile zusammenfassen?
Konsolidieren mehrerer Zeilen zu einer einzigen Zeile in Oracle SQL
Oracle SQL bietet mehrere Methoden zum Kombinieren mehrerer Zeilen zu einer einzigen Zeile. Ein Ansatz verwendet die Funktion WM_CONCAT
(Hinweis: in Oracle 12c und höher veraltet). WM_CONCAT
verkettet Werte aus mehreren Zeilen innerhalb einer bestimmten Spalte:
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
Für Oracle-Versionen, in denen WM_CONCAT
nicht verfügbar ist, bietet eine benutzerdefinierte Aggregatfunktion eine praktikable Lösung. Detaillierte Anleitungen zum Erstellen einer solchen Funktion für die String-Aggregation finden Sie auf Ressourcen wie Oracle-base.com. Ein einfaches Beispiel:
<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2; -- Function implementation details here</code>
Diese benutzerdefinierte Funktion ermöglicht die Aggregation von Zeichenfolgenwerten:
<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>
Sowohl WM_CONCAT
(sofern zutreffend) als auch benutzerdefinierte Aggregatfunktionen konsolidieren mehrere Zeilen effektiv in einer einzigen Zeile und präsentieren Daten prägnanter und organisierter.
Das obige ist der detaillierte Inhalt vonWie kann ich in Oracle SQL mehrere Zeilen zu einer einzigen Zeile zusammenfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!