-
FOR XML PATHを使用する方法:
SELECT Column1, STUFF((SELECT ', ' + Column2 FROM YourTable WHERE YourTable.Column1 = t.Column1 FOR XML PATH('')), 1, 2, '') AS ConcatenatedValues FROM YourTable t GROUP BY Column1
-
STRING_AGG関数を使用する方法 (SQL Server 2017以降):
SELECT Column1, STRING_AGG(Column2, ', ') AS ConcatenatedValues FROM YourTable GROUP BY Column1
-
COALESCE関数とサブクエリを使用する方法:
SELECT t1.Column1, COALESCE((SELECT t2.Column2 + ', ' FROM YourTable t2 WHERE t2.Column1 = t1.Column1 FOR XML PATH('')), '') AS ConcatenatedValues FROM YourTable t1 GROUP BY t1.Column1
これらの方法は、GROUP_CONCAT関数の代替として使用することができます。どの方法を選択するかは、使用するSQL Serverのバージョンやパフォーマンスの要件によって異なります。
以上が、SQL ServerでのGROUP_CONCATの使用方法とコード例の解説です。これらの方法を活用することで、データベースクエリにおいて複数の値を1つの列に結合することができます。