任何人都可以在这里帮助我解决以下问题,
我想用CASE
与LISTAGG
在同一时间。
使用 sql 我正在做
LISTAGG(G.IGROUP_ID,'|') WITHIN GROUP (ORDER BY G.igroup_id) AS SERVICES
所以输出工作正常
**SERVICES**
Row 1 : 50|100|128
Row 2 : 100|100|128
所以在这里我想写一个案例或者如果 else 逻辑(如果 50|100|128)它应该反映为 Yes else if 100|100|128 那么它应该反映为 No
你能帮我解决这个问题吗?
你可以用这样做case
的listagg()
:
LISTAGG(CASE WHEN G.IGROUP_ID IN (50, 100, 128) THEN 'YES' ELSE 'NO' END) ,'|')
WITHIN GROUP (ORDER BY G.igroup_id) AS SERVICES
这假定一切,是不YES
为NO
。如果这不是真的,那么只需添加另一个WHEN
子句。
编辑:
对该问题的字面解释表明:
(CASE LISTAGG(G.IGROUP_ID , '|') WITHIN GROUP (ORDER BY G.igroup_id)
WHEN '50|100|128' THEN 'Yes'
WHEN '100|100|128' THEN 'No'
END) AS SERVICES
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句