Maison > base de données > tutoriel mysql > Comment créer des listes de noms d'applications associés séparés par des virgules dans SQL ?

Comment créer des listes de noms d'applications associés séparés par des virgules dans SQL ?

Patricia Arquette
Libérer: 2025-01-18 22:16:12
original
639 Les gens l'ont consulté

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

Créer une liste séparée par des virgules à l'aide d'une requête SQL

Lorsque plusieurs tables contiennent des données d'application et de ressources, une tâche courante consiste à répertorier une table répertoriant tous les noms de ressources ainsi que les noms d'applications associés séparés par des virgules. Pour y parvenir à l'aide d'une seule requête SQL, suivez ces étapes :

MySQL :

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
Copier après la connexion

SQL Server (2005) :

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
Copier après la connexion

SQL Server (2017) :

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
Copier après la connexion

Oracle : Oracle propose plusieurs options d'agrégation/jonction de chaînes. Veuillez vous référer à la documentation pour connaître la syntaxe et les exigences spécifiques.

Ces requêtes joignent la table "RESOURCES" aux tables "APPLICATIONSRESOURCES" et "APPLICATIONS" pour récupérer les noms de ressources et les noms d'applications associés. La fonction "GROUP_CONCAT", "STUFF" ou "STRING_AGG" est ensuite utilisée pour concaténer le nom de l'application en une liste de chaque ressource séparée par des virgules. Pour améliorer la lisibilité, nous avons ajouté des alias application_names aux colonnes de résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal