Sql 合并包含相同值的行

Sql 合并包含相同值的行,sql,sql-server,database,Sql,Sql Server,Database,我正在使用SQL Server。我有下表: +----------------+ | ID | +----------------+ | A2 | | B4, F1 | | B3 | | C2, A2 | | H4, K0, Z3, F1 | | A1 | +----------------+ 我的目标是合并至少包含一个公共ID的行 预期结果是: +---------

我正在使用SQL Server。我有下表:

+----------------+
|       ID       |
+----------------+
| A2             |
| B4, F1         |
| B3             |
| C2, A2         |
| H4, K0, Z3, F1 |
| A1             |
+----------------+
我的目标是合并至少包含一个公共ID的行

预期结果是:

+--------------------+
|         ID         |
+--------------------+
| A2, C2             |
| B4, F1, H4, K0, Z3 |
| B3                 |
| A1                 |
+--------------------+
我应该使用哪个查询


这里有一个测试数据:

如果你有:
A,B
B,C
C,D
?事实上,我会在这里考虑修复你的设计。在数据库中存储分隔数据很少是一个好主意。它们都会合并成一个字符串a、B、C、D。您的MSSQL服务器版本是什么?我使用的是2017版,如果您有:
a、B
B、C
C、D
?事实上,我想在这里修复您的设计。在数据库中存储分隔数据很少是个好主意。它们都会合并成一个字符串a、B、C、D。您的MSSQL服务器版本是什么?我使用的是2017版