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 중국어 웹사이트의 기타 관련 기사를 참조하세요!