집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 쉼표로 구분된 값으로 집계된 결과를 검색하는 방법은 무엇입니까?
SQL Server에서 쉼표 구분 기호를 사용하여 그룹화된 열의 집계 결과 검색
SQL Server에서는 FOR XML PATH
구조를 사용하여 쉼표 구분 기호 및 그룹화된 열이 포함된 집계 결과를 검색할 수 있습니다. 다음 예를 고려해보세요.
<code class="language-sql">SELECT ID, STUFF((SELECT ', ' + Value FROM YourTable t2 WHERE t1.ID = t2.ID FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values FROM YourTable t1 GROUP BY ID;</code>
이 쿼리에서:
FOR XML PATH
구조는 각 그룹의 ID
열에 대해 쉼표로 구분된 값 목록을 생성합니다(Value
열로 표시됨). STUFF
이 함수는 집계 목록 시작 부분의 ','를 제거합니다. .value('.', 'NVARCHAR(MAX)')
잠재적인 오류를 방지하려면 XML 결과를 NVARCHAR(MAX) 유형으로 변환하세요. 예시 데이터 및 예상 결과:
ID | Value |
---|---|
1 | a |
1 | b |
2 | c |
예상 출력:
ID | Values |
---|---|
1 | a,b |
2 | c |
기타 예:
SQL Server에서 그룹화 및 집계를 위해 쉼표로 구분된 결과를 사용하는 방법에 대한 자세한 내용을 보려면 다음 예를 고려하세요.
이 수정된 답변은 .value('.', 'NVARCHAR(MAX)')
을 사용하여 XML 출력을 문자열로 명시적으로 변환하여 SQL 쿼리를 개선하여 잠재적인 오류를 방지합니다.
위 내용은 SQL Server에서 쉼표로 구분된 값으로 집계된 결과를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!