【发布时间】:2011-06-29 04:59:08
【问题描述】:
可能的重复:
Implode type function in SQL Server 2000?
Concatenate row values T-SQL
我正在查询的视图如下所示:
BuildingName PollNumber ------------ ---------- Foo Centre 12 Foo Centre 13 Foo Centre 14 Bar Hall 15 Bar Hall 16 Baz School 17
我需要编写一个查询,将 BuildingNames 组合在一起并显示 PollNumbers 列表,如下所示:
BuildingName PollNumbers ------------ ----------- Foo Centre 12, 13, 14 Bar Hall 15, 16 Baz School 17
如何在 T-SQL 中做到这一点?我宁愿不为此编写存储过程,因为这似乎有点矫枉过正,但我并不完全是数据库人员。似乎我需要像 SUM() 或 AVG() 这样的聚合函数,但我不知道 T-SQL 是否有。我使用的是 SQL Server 2005。
【问题讨论】:
-
是的,这个问题已经在 SO 上被问过多次。 stackoverflow.com/questions/1874966/… 或 stackoverflow.com/questions/3121079/…
-
啊,我的错。将其归结为没有使用正确的搜索关键字的情况。 :) 投票结束。
-
已多次回答...但请注意,并非所有
FOR XML PATH concatenations实现都能像我的示例代码一样正确处理 XML 特殊字符(<、&、>等) (下)将... -
SqlServer 2017 现在有STRING_AGG,它使用给定的分隔符将多个字符串聚合为一个。
标签: sql-server sql-server-2005 tsql group-by aggregate-functions