«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как создать разделенные запятые списки связанных имен приложений в SQL?

Как создать разделенные запятые списки связанных имен приложений в SQL?

Опубликовано в 2025-02-06
Просматривать:128

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

, когда несколько таблиц содержат данные о приложениях и ресурсах, общая задача состоит в том, чтобы перечислить таблицу, в которой перечислены все имена ресурсов и имена связанных приложений, разделенных запятыми. Чтобы достичь этого с помощью одного запроса SQL, выполните следующие действия: ]

mysql:

select r.name, Group_concat (a.name seperator ',') as application_names От ресурсов Присоединяйтесь к ApplicationsResources ar на ar.resource_id = r.id Присоединяйтесь к приложениям a on a.id = ar.app_id Группа от r.name

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
]

select r.name, Материал ((Select ',' A.name Из приложений а Присоединяйтесь к ApplicationResources ar на ar.app_id = a.id Где ar.resource_id = r.id Группа от A.Name Для xml path (''), type) .value ('text () [1]', 'nvarchar (max)'), 1, len (','), '' ') as application_names Из ресурсов R

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
]

select r.name, String_agg (a.name, ',') как application_names От ресурсов Присоединяйтесь к ApplicationsResources ar на ar.resource_id = r.id Присоединяйтесь к приложениям a on a.id = ar.app_id Группа от r.name

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
]

эти запросы соединяют таблицу «Ресурсы» с таблицами «Приложения -обработки» и «приложения» для извлечения имени ресурса и связанного имени приложения. Функции «Group_Concat», «Stuff» или «string_agg» затем используются для подключения имени приложения к списку каждого ресурса, разделенного запятыми. Чтобы улучшить читаемость, мы добавили псевдоним application_names в столбец результата.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3