Heim > Datenbank > MySQL-Tutorial > Wie kann man mithilfe von SQL effizient durch Kommas getrennte Listen aus relationalen Datenbanktabellen erstellen?

Wie kann man mithilfe von SQL effizient durch Kommas getrennte Listen aus relationalen Datenbanktabellen erstellen?

Mary-Kate Olsen
Freigeben: 2025-01-18 22:09:10
Original
968 Leute haben es durchsucht

How to Efficiently Create Comma-Separated Lists from Relational Database Tables using SQL?

Effiziente Erstellung kommagetrennter Listen mit SQL

Datenbankaufgaben erfordern häufig die Verkettung von Datenfeldern in durch Kommas getrennte Listen. SQL bietet effiziente Lösungen und macht prozeduralen Code überflüssig.

Beispiel: Stellen Sie sich drei Tabellen vor: Applications (id, name), Resources (id, name) und ApplicationsResources (id, app_id, resources_id). Das Ziel besteht darin, einen Bericht zu erstellen, der jeden Ressourcennamen zusammen mit einer durch Kommas getrennten Liste der zugehörigen Anwendungen anzeigt.

Dies kann mit GROUP_CONCAT (MySQL und einige SQL Server-Versionen) oder STRING_AGG (SQL Server 2017 und höher) erreicht werden. Diese Funktionen verketten effizient Werte, die nach einer bestimmten Spalte gruppiert sind.

MySQL/einige SQL Server-Versionen:

<code class="language-sql">SELECT r.name, GROUP_CONCAT(a.name SEPARATOR ',') AS application_names
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name;</code>
Nach dem Login kopieren

SQL Server 2017 und höher:

<code class="language-sql">SELECT r.name, STRING_AGG(a.name, ',') AS application_names
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name;</code>
Nach dem Login kopieren

Orakel:

Oracle bietet mehrere Methoden zur String-Aggregation, darunter LISTAGG und das Paket DBMS_PCL_ROWPKT. Ausführliche Anweisungen finden Sie in der Oracle-Dokumentation.

Dieser SQL-basierte Ansatz bietet eine optimierte Methode zum Generieren durch Kommas getrennter Listen direkt in Ihren Datenbankabfragen und verbessert so die Datenpräsentation in Anwendungen und GUIs.

Das obige ist der detaillierte Inhalt vonWie kann man mithilfe von SQL effizient durch Kommas getrennte Listen aus relationalen Datenbanktabellen erstellen?. 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