> 데이터 베이스 > MySQL 튜토리얼 > Group By를 사용하여 SQL Server에서 문자열을 연결하려면 어떻게해야합니까?

Group By를 사용하여 SQL Server에서 문자열을 연결하려면 어떻게해야합니까?

DDD
풀어 주다: 2025-01-25 02:28:10
원래의
300명이 탐색했습니다.

How Can I Concatenate Strings in SQL Server Using GROUP BY?

SQL Server에서 GROUP BY 연결 문자열 사용

GROUP BY 절은 SQL Server에서 문자열 연결을 처리할 때 강력한 도구입니다. 공통 필드를 기반으로 행을 그룹화하면 관련 문자열을 단일 조인 결과로 효과적으로 결합할 수 있습니다.

시나리오를 살펴보겠습니다.

ID, 이름, 값 열이 있는 테이블이 있습니다. 동일한 ID를 가진 모든 행을 Name:Value 형식의 연결 문자열이 포함된 Column이라는 열이 포함된 단일 행에 조인하려고 합니다.

이렇게 하려면 FOR XMLPATHGROUP BY 절과 결합하면 됩니다.

<code class="language-sql">CREATE TABLE #YourTable ([ID] INT, [Name] CHAR(1), [Value] INT)

INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'A',4)
INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (1,'B',8)
INSERT INTO #YourTable ([ID],[Name],[Value]) VALUES (2,'C',9)

SELECT 
  [ID],
  STUFF((
    SELECT ', ' + [Name] + ':' + CAST([Value] AS VARCHAR(MAX)) 
    FROM #YourTable 
    WHERE (ID = Results.ID) 
    FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')
  ,1,2,'') AS NameValues
FROM #YourTable Results
GROUP BY ID

DROP TABLE #YourTable</code>
로그인 후 복사

이 쿼리에서:

  • 하위 쿼리는 FOR XML PATH('')을 사용하여 쉼표로 구분된 이름 및 값 열의 XML 표현을 만듭니다.
  • PATH('') 절은 연결된 문자열이 단일 값으로 처리되어야 함을 지정합니다.
  • STUFF 함수는 연결 문자열 시작 부분의 쉼표와 공백을 제거합니다.
  • ID별로 결과를 그룹화하려면 GROUP BY 절을 사용하세요.

결과적으로 다음과 같은 출력을 얻게 됩니다.

<code>ID       NameValues
1          A:4, B:8
2          C:9</code>
로그인 후 복사

위 내용은 Group By를 사용하여 SQL Server에서 문자열을 연결하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿