构建分组值列表

时间:2017-02-10 09:26:13

标签: group-by nvarchar sybase-asa

我是这个页面的新手,这是我第一次发帖提问。抱歉有什么不对。问题可能很旧,但我无法找到SQL AnyWhere的任何答案 我有一张像

这样的表格
Order |  Mark  
======|========   
1     | AA  
2     | BB  
1     | CC  
2     | DD  
1     | EE  

我希望结果如下

Order | Mark  
1     | AA,CC,EE  
2     | BB,DD  

我当前的SQL是

Select Order, Cast(Mark as NVARCHAR(20))  
From #Order  
Group by Order  

它只是给了我与原始表完全相同的结果。

对此有何想法?

1 个答案:

答案 0 :(得分:0)

您可以使用ASA LIST()聚合函数(未经测试,您可能需要将order列名称括在引号中,因为它也是保留名称):

SELECT Order, LIST( Mark )
FROM #Order
GROUP BY Order;

如果需要,您可以自定义分隔符和顺序。

注意:

是个坏主意
  • 使用类似常规SQL子句(Order by
  • 命名您的表名和列名
  • 对表格(Order
  • 使用相同的名称