【发布时间】:2019-06-11 10:28:13
【问题描述】:
我收到错误:ORA-00907: missing right parenthesis,但我找不到错误的东西。
(select listagg(sp.name
||' : '||
(case when count(distinct sp.name) < 1 then NULL else szf.piece END) as cou_1, ',')
WITHIN GROUP (ORDER BY sp.name,cou_1)
from sk_positions sp, sk_stock_f SZF, sk_stock SZ
where SZF.CODE_ID =SK.ID AND SP.RID = SZF.RID_U AND SZF.ID_SZ = SZ.ID
and sp.sk_u = (%sk%) and SZF.piece != 0)
我想,listagg - case 有问题。
【问题讨论】:
-
计算 ('s 和 )'s。同一个号码?
-
今日提示:切换到现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且在需要时更容易转换为外连接。 -
什么是
sk,没有别名为sk的表。 -
@BarbarosÖzhan 这是我所在的当前表(项目 SK).. 这是 entrp 中的内部查询。程序(类似于 SAP...)
标签: sql oracle oracle11g case listagg