Sybase ASE 15字符串的聚合函数

问题描述 投票:1回答:2

我正在寻找一种方法将不同行的字符串聚合到sybase ASE 15中的单行。像这样:

id | Name                    Result: id | Names
-- - ----                            -- - -----
1  | Matt                            1  | Matt, Rocks
1  | Rocks                           2  | Stylus
2  | Stylus

类似于T-SQL中的FOR XML PATH。

谢谢!

sql aggregate-functions sybase sybase-ase sybase-ase15
2个回答
5
投票

Sybase ASE没有任何字符串聚合函数,如list()group_concat();虽然有一些支持FOR XML,但它不包括对PATH选项/功能的支持。

假设您可以附加未知/可变数量的行,您唯一的(ASE 15)T-SQL选项将是基于游标的解决方案。

如果您发现自己使用ASE 16,则可以编写用户定义函数(UDF)来完成任务,例如:emulate group_concat() in ASE 16


-3
投票

你可以试试这个:

select id,list(Names,',' order by id) from TableName a group by id 
© www.soinside.com 2019 - 2024. All rights reserved.