如何将表中的所有数据作为字符串与sql连接成一列?

时间:2012-04-25 05:53:24

标签: sql sql-server

我想加入表格中的所有数据。例如:我有一个这样的表,

ID     Name    ForeingId
----------------------
1       A        1
2       B        1
3       C        2
4       D        1
5       E        1

我希望得到以下查询结果。例如'SELECT ... WHERE ForeingId = 1'。 我不想使用程序或功能。

结果:A,B,D,E

2 个答案:

答案 0 :(得分:0)

对于 ORACLE ,请尝试以下操作:

SELECT 
   LISTAGG(name, ',') WITHIN GROUP (ORDER BY name) AS NAME
  FROM  TABLE
WHERE ForeingId= '1'

答案 1 :(得分:0)

我正在使用MSSQL

我感谢大家的答案。我找到了@ mehul9595评论链接的答案。

Simulating group_concat MySQL function in Microsoft SQL Server 2005?

这样:

SELECT STUFF(
    (SELECT ',' + t.name FROM table_name t
     where t.foreingId = 1 FOR XML PATH ('')), 1, 1, '')