SQL Server에서 FOR XML PATH와 STUFF 함수의 시너지 효과
SQL Server에서 FOR XML PATH
와 STUFF
함수의 조합은 데이터를 구성하고 결합하는 데 중요한 역할을 합니다. 원하는 목표를 달성하기 위해 메커니즘을 분석해 보겠습니다.
1. 'FOR XML PATH'를 사용하여 XML 요소 문자열을 추출합니다
FOR XML PATH
쿼리 결과를 XML 요소로 변환합니다. 요소 이름을 생략하면 다음 예와 같이 쉼표로 구분된 값 목록이 출력됩니다.
<code class="language-sql">SELECT ',' + name FROM temp1 FOR XML PATH('')</code>
2. STUFF를 사용하여 선행 쉼표를 제거하세요
STUFF
은 지정된 문자를 바꾸어 문자열을 수정하는 데 사용됩니다. 이 예에서는 XML 문자열에서 선행 쉼표를 제거합니다.
<code class="language-sql">STUFF((SELECT ',' + NAME FROM temp1 FOR XML PATH('')), 1, 1, '')</code>
3. 조인을 수행하여 목록 생성
마지막으로 수정된 목록은 'id' 열을 통해 원본 테이블과 조인됩니다.
<code class="language-sql">SELECT ID, abc = STUFF(( SELECT ',' + name FROM temp1 t1 WHERE t1.id = t2.id FOR XML PATH ('')) , 1, 1, '') from temp1 t2 group by id;</code>
이 조합은 각 'Id'에 대한 'Name' 열 값을 효과적으로 연결하여 예상되는 출력을 얻습니다.
<code>Id | Name ------------------- 1 | aaa,bbb,ccc,ddd,eee</code>
위 내용은 'FOR XML PATH'와 'STUFF'를 결합하여 SQL Server에서 데이터를 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!