请您帮我在Sybase中找到以下查询。
我想要一个逗号分隔的行列表。有一个LIST()聚合函数但我无法使用它,因为我使用的是Adaptive Server Enterprise。
Sybase中是否存在任何替代查询以获取LIST()?
谢谢, 萨姆拉特萨卡
答案 0 :(得分:2)
在ASE中基本上有两个选项:(i)使用基于循环的算法,如游标(ii)使用ASE UPDATE语句的一个鲜为人知的特性,该特性可以将后续行中的值累积到变量中。
对于后者,基本上这个想法不是更新任何列,而是扫描这样的行:
update Sales
set @cnt = @cnt + 1,
@sum = @sum + Amount
有关详细信息,请参阅我的书www.sypron.nl/ttr。
答案 1 :(得分:0)
我用以下技术解决了这个问题,
我创建了一个#temp表并循环遍历游标并在#temp表中插入了逗号分隔值。
现在使用#temp table
进行主选择查询连接