"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar listas separadas por vírgula de nomes de aplicativos associados no SQL?

Como criar listas separadas por vírgula de nomes de aplicativos associados no SQL?

Postado em 2025-02-06
Navegar:155

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

Crie uma lista separada por vírgula usando o SQL Query

]

Quando várias tabelas contêm dados de aplicativos e recursos, uma tarefa comum é listar uma tabela que lista todos os nomes de recursos e nomes de aplicativos associados separados por vírgula. Para conseguir isso com uma única consulta SQL, siga estas etapas:

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

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

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

oracle: o Oracle fornece uma variedade de opções de agregação/conexão de string. Consulte a documentação para obter sintaxe e requisitos específicos.

Essas consultas conectam a tabela "Recursos" com as tabelas "ApplicationsResResources" e "Applications" para recuperar o nome do recurso e o nome do aplicativo associado. As funções "group_concat", "Stuff" ou "string_agg" são usadas para conectar o nome do aplicativo à lista separada por vírgula de cada recurso. Para melhorar a legibilidade, adicionamos um alias Application_Names à coluna do resultado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3