집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server의 그룹 내에서 값을 연결하는 방법은 무엇입니까?
SQL Server에서 그룹 가입
SQL Server 2005에서 그룹 내의 값을 조인하려면 사용자 정의 집계 함수를 사용하는 것이 좋습니다.
해결책:
사용자 정의 집계 함수(UDAF) 만들기:
<code class="language-sql"> CREATE AGGREGATE [dbo].[ConcatValues] (@str VARCHAR(MAX)) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @result VARCHAR(MAX) = '', @delim VARCHAR(2) = ''; WHILE @str IS NOT NULL BEGIN SET @result = @result + @delim + @str; SET @delim = ','; SET @str = NEXT VALUE; END; RETURN @result; END;</code>
쿼리에서 UDAF 사용:
<code class="language-sql"> SELECT Id, [dbo].[ConcatValues](Value) AS ConcatenatedValues FROM YourTable GROUP BY Id;</code>
결과:
Id | ConcatenatedValues |
---|---|
1 | 'A,B' |
2 | 'C' |
이 솔루션은 WHILE
루프를 사용하여 입력 값을 반복하고 쉼표를 구분 기호로 사용하여 연결합니다. 이는 원래 예제의 FOR
루프와 다르지만 동일한 기능을 구현하며 SQL Server에서 더 일반적입니다. NEXT VALUE
은 집계 함수의 다음 입력 값을 가져오는 데 사용됩니다. YourTable
은 실제 테이블 이름으로 바꿔야 합니다.
위 내용은 SQL Server의 그룹 내에서 값을 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!