SQL Server에서 GROUP BY 연결 문자열 사용
GROUP BY
절은 SQL Server에서 문자열 연결을 처리할 때 강력한 도구입니다. 공통 필드를 기반으로 행을 그룹화하면 관련 문자열을 단일 조인 결과로 효과적으로 결합할 수 있습니다.
시나리오를 살펴보겠습니다.
ID, 이름, 값 열이 있는 테이블이 있습니다. 동일한 ID를 가진 모든 행을 Name:Value 형식의 연결 문자열이 포함된 Column이라는 열이 포함된 단일 행에 조인하려고 합니다.
이렇게 하려면 FOR XML
및 PATH
을 GROUP 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
함수는 연결 문자열 시작 부분의 쉼표와 공백을 제거합니다. GROUP BY
절을 사용하세요. 결과적으로 다음과 같은 출력을 얻게 됩니다.
<code>ID NameValues 1 A:4, B:8 2 C:9</code>
위 내용은 Group By를 사용하여 SQL Server에서 문자열을 연결하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!