如何将SELECT语句的结果列入另一个SELECT语句的列?

时间:2016-05-24 15:59:33

标签: sql sql-server

(我很确定这个问题在这里得到了解答,但我找不到它,也无法将这些条款放在一起进行良好的搜索。所以如果这个问题重复,我很抱歉。 )

这是我的问题:

如果我有这样的SELECT语句:

SELECT a.Id, b.Id
FROM TableA as a
JOIN TableB as b on a.Id = b.Id

我得到了这样的结果:

+-----+------+
|a.Id | b.Id |
|  1  |  1   |
|  1  |  2   |
|  2  |  1   |
|  2  |  3   |
|  2  |  4   |
|  3  |  3   |
+-----+------+

我想知道如何解决必须解决的问题:

+-----+----------+
|a.Id | b.Id     |
|  1  |  1, 2    |
|  2  |  1, 3, 4 |
|  3  |  3       |
+-----+----------+

更多信息/编辑:我正在使用MSSQL。是的,这个问题是重复的: (Does T-SQL have an aggregate function to concatenate strings?

1 个答案:

答案 0 :(得分:0)

在mysql中你可以使用group_concat

SELECT a.Id, group_concat(b.Id)
FROM TableA as a
JOIN TableB as b on a.Id = b.Id
group by a.id;