我在crystal 2013中使用以下查询作为用户定义的命令命令。它在sql developer中正确地返回并命令,但是当我将它添加到我的报告中时,字段要么返回两次,要么/或者顺序错误。它应该根据ID上升返回行,例如39-40-41-42。但返回39-41-40-42 ...或3939-4141-4040-4242。所以似乎有一种模式......
select ad.arinvt_id,
ud.parent_id, listagg(ud.cuser, '') within group (order by ud.parent_id) as sfdt,
listagg(ud.ud_cols_id, '') within group (order by ud.ud_cols_id) as uci
from arinvoice_detail ad
left join ud_data ud
on ad.arinvt_id = ud.parent_id
where ad.arinvt_id = ud.parent_id
and ud.ud_cols_id in (39, 40, 41, 42)
group by ad.arinvt_id, ud.parent_id
我找不到多少,我发现的是在不同的平台上。非常感谢任何帮助!
我看到了这个: How to define a custom order in ORDER BY clause? 并试图改为
(order by field(xyz))
但是水晶不会这样做。
答案 0 :(得分:0)
我把表连接两次。一旦进入命令,再次进入水晶。不知道为什么它有时会复制而不是其他,或者为什么订单有所偏差..但是下面的命令到目前为止都有效。
select
ud.parent_id,
listagg(ud.cuser, '') within group (order by ud.ud_cols_id) as sfdt
from ud_data ud
where ud.ud_cols_id in (39, 40, 41, 42)
group by ud.parent_id