"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo crear listas separadas por comas de nombres de aplicaciones asociados en SQL?

¿Cómo crear listas separadas por comas de nombres de aplicaciones asociados en SQL?

Publicado el 2025-02-06
Navegar:922

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

Crear lista separada por comas usando la consulta SQL

]]

Cuando varias tablas contienen datos de aplicaciones y recursos, una tarea común es enumerar una tabla que enumera todos los nombres de recursos y nombres de aplicaciones asociadas separados por comas. Para lograr esto con una sola consulta SQL, siga estos pasos:

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: Oracle proporciona una variedad de opciones de agregación/conexión de cadena. Consulte la documentación para obtener una sintaxis y requisitos específicos.

Estas consultas conectan la tabla "Recursos" con las tablas "AplicationsResources" y "Aplicaciones" para recuperar el nombre del recurso y el nombre de la aplicación asociada. Las funciones "Group_concat", "Stuff" o "String_agg" se usan para conectar el nombre de la aplicación a la lista separada por comas de cada recurso. Para mejorar la legibilidad, agregamos un alias application_names a la columna de resultados.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3