有没有简单的方法可以在Ingres 9.2中模拟GROUP_CONCAT功能?
我的桌子有类似的东西:
OrderID LineNumber LineText
1 1 This is an example note which is trunc
1 2 ated at a certain point.
2 1 Another note which is just one line.
等等。有些笔记是1行,有些是50多行。
我想要一个返回的查询:
OrderID FullText
1 This is an example note which truncated at a certain point.
2 Another note which is just one line.
在MySQL或SQLite中,我使用GROUP_CONCAT。在MS SQL中,它更难,但我使用FOR XML功能来实现解决方案。我不确定如何在Ingres做到这一点。我开始编写一个存储过程,可以返回单个订单ID的连接注释,但我看不到将其集成到查询中的简单方法。
有什么想法吗?
答案 0 :(得分:1)
这可能有效:
select OrderId,
(max(case when LineNumber = 1 then LineText else '' end) +
max(case when LineNumber = 2 then LineText else '' end) +
max(case when LineNumber = 3 then LineText else '' end)
) as LineText
from t
group by Orderid;
LineNumber
非常方便。