"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > SQL에서 관련 응용 프로그램 이름의 쉼표로 구분 된 목록을 작성하는 방법은 무엇입니까?

SQL에서 관련 응용 프로그램 이름의 쉼표로 구분 된 목록을 작성하는 방법은 무엇입니까?

2025-02-06에 게시되었습니다
검색:571

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

SQL 쿼리를 사용하여 쉼표로 구분 된 목록을 작성

]

여러 테이블에 응용 프로그램 및 리소스 데이터가 포함 된 경우 일반적인 작업은 모든 리소스 이름과 쉼표로 구분 된 관련 응용 프로그램 이름을 나열하는 테이블을 나열하는 것입니다. 단일 SQL 쿼리로이를 달성하려면 다음 단계를 따르십시오.

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은 다양한 문자열 집계/연결 옵션을 제공합니다. 특정 구문 및 요구 사항은 문서를 참조하십시오.

이 쿼리는 "Resources"테이블을 "ApplicationSresources"및 "Applications"테이블과 연결하여 리소스 이름과 관련 응용 프로그램 이름을 검색합니다. 그런 다음 "group_concat", "stits"또는 "string_agg"함수를 사용하여 응용 프로그램 이름을 각 리소스의 쉼표로 구분 된 목록에 연결합니다. 가독성을 향상시키기 위해 결과 열에 별칭 application_names 를 추가했습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3