表A中的数据:
id desc
1 huba
1 blub
3 foo
4 bar
我想要
id desc
1 huba, blub
3 foo
4 bar
因此应该合并具有相同id的记录并连接desc。 不幸的是我不能使用字符串或concat。如果我尝试使用这些功能,我会收到错误。
Sybase版本: Sybase版本:Adaptive Server Enterprise / 15.5 / EBF 19902 SMP ESD#5.1 / P / x86_64 / Enterprise Linux / asear155 / 2594/64-bit / FBO / Wed Jun 6 01:20:27 2012
答案 0 :(得分:0)
Sybase ASE没有类似于list(),group_concat()等的任何函数。
虽然Sybase ASE确实提供了一些XML支持,但它不支持'for xml / path()'构造。
虽然可以在ASE 16中创建一个时髦的解决方法(使用表@variable和用户定义的函数)...但是你没有运行ASE 16。
最终结果是你需要编写某种循环结构来完成你想要的东西,例如,循环遍历表中行的游标。
注意:我必须考虑'合并'的想法,但是因为你运行ASE 15.5并且在ASE 15.7之前'合并'不可用......我会把这个想法放在后面现在
ps - 好的,是单一查询解决方案,但它涉及使用应用程序上下文函数(ACF)(例如,get_appcontext(),set_appcontext());但这是一个非常非常非常混乱的解决方案......