Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich durch Kommas getrennte Listen zugehöriger Anwendungsnamen in SQL?

Wie erstelle ich durch Kommas getrennte Listen zugehöriger Anwendungsnamen in SQL?

Patricia Arquette
Freigeben: 2025-01-18 22:16:12
Original
577 Leute haben es durchsucht

How to Create Comma-Separated Lists of Associated Application Names in SQL?

Erstellen Sie eine durch Kommas getrennte Liste mithilfe einer SQL-Abfrage

Wenn mehrere Tabellen Anwendungs- und Ressourcendaten enthalten, besteht eine häufige Aufgabe darin, eine Tabelle aufzulisten, in der alle Ressourcennamen zusammen mit den zugehörigen Anwendungsnamen durch Kommas getrennt aufgeführt sind. Um dies mit einer einzelnen SQL-Abfrage zu erreichen, führen Sie die folgenden Schritte aus:

MySQL:

<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 (2005):

<code class="language-sql">SELECT r.name,
       STUFF((SELECT ',' + a.name
               FROM APPLICATIONS a
               JOIN APPLICATIONRESOURCES ar ON ar.app_id = a.id
              WHERE ar.resource_id = r.id
           GROUP BY a.name
            FOR XML PATH(''), TYPE).value('text()[1]','NVARCHAR(max)'), 1, LEN(','), '') AS application_names
 FROM RESOURCES r</code>
Nach dem Login kopieren

SQL Server (2017):

<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

Oracle: Oracle bietet mehrere Optionen für die String-Aggregation/-Verknüpfung. Informationen zur spezifischen Syntax und zu den Anforderungen finden Sie in der Dokumentation.

Diese Abfragen verknüpfen die Tabelle „RESOURCES“ mit den Tabellen „APPLICATIONSRESOURCES“ und „APPLICATIONS“, um Ressourcennamen und zugehörige Anwendungsnamen abzurufen. Die Funktion „GROUP_CONCAT“, „STUFF“ oder „STRING_AGG“ wird dann verwendet, um den Anwendungsnamen in einer durch Kommas getrennten Liste jeder Ressource zu verketten. Um die Lesbarkeit zu verbessern, haben wir den Ergebnisspalten Aliase application_names hinzugefügt.

Das obige ist der detaillierte Inhalt vonWie erstelle ich durch Kommas getrennte Listen zugehöriger Anwendungsnamen in SQL?. 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