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.
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