gpt4 book ai didi

sql - 带case语句的-listagg的正确形式

转载 作者:行者123 更新时间:2023-12-04 17:41:42 25 4
gpt4 key购买 nike

我收到错误: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 有问题.

最佳答案

错误在这里:

szf.piece END) as cou_1
^

您不能为子表达式设置别名,而只能为列的完整表达式设置别名。在 Listagg 中,它应该在 within group () 之后做完了。

像这样的东西
WITHIN GROUP (ORDER BY sp.name,cou_1) as cou_1

关于sql - 带case语句的-listagg的正确形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54232252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com