如何将多行组合到SQL Server中以逗号分隔的列表中?

Cos*_*sta 5 t-sql sql-server

可能重复:
SQL Server:我可以用逗号分隔多行到一列吗?

我有表X(X_ID,X_Name)是1-M与表Y(Y_ID,Y_Value)

表X:

X_ID    X_Name
----    ------
12      foo
14      foo2
16      foo3
Run Code Online (Sandbox Code Playgroud)

表Y:

X_ID    Y_Value
----    -------
12      A
12      B
14      C
14      D
14      E
16      F
16      G
Run Code Online (Sandbox Code Playgroud)

如何使用T-Sql获得以下结果?

X_ID   X_Name   Y_Value
----   ------   ------
12     foo      A,B
14     foo2     C,D,E
16     foo3     F,G
Run Code Online (Sandbox Code Playgroud)

谢谢

Aar*_*and 15

SELECT X.X_ID, X.X_Name, Y_Values = STUFF((SELECT ',' + Y_Value FROM dbo.Y
  WHERE Y.X_ID = X.X_ID
  FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1, '')
  FROM dbo.X;
Run Code Online (Sandbox Code Playgroud)