大神指点一下这种语句应该怎么优化

hu249523215 2020-07-24 10:37:24
SELECT (SELECT listagg(to_char(RENWU), '<br>') WITHIN GROUP(order by ROWNUM)
FROM (SELECT (ROWNUM || '、' || RENWU) RENWU
FROM BO_EU_JSGC_XMZB_XZJH BEJXX
WHERE BEJX.BINDID = BEJXX.BINDID)) NEXT_WEEK,
(SELECT listagg(to_char(RENWU), '<br>') WITHIN GROUP(order by ROWNUM)
FROM (SELECT (ROWNUM || '、' || RENWU) RENWU
FROM BO_EU_JSGC_XMZB_WCQK BEJXX
WHERE BEJX.BINDID = BEJXX.BINDID)) LAST_WEEK,
(SELECT listagg(to_char(WANCHENGQINGKUANG), '<br>') WITHIN GROUP(order by ROWNUM)
FROM (SELECT (ROWNUM || '、' || WANCHENGQINGKUANG) WANCHENGQINGKUANG
FROM BO_EU_JSGC_XMZB_WCQK BEJXX
WHERE BEJX.BINDID = BEJXX.BINDID)) LAST_WEEK_QK,
(SELECT listagg(to_char(PCQK), '<br>') WITHIN GROUP(order by ROWNUM)
FROM (SELECT (ROWNUM || '、' || PCQK) PCQK
FROM (SELECT (JJFA.WENTI || ',' || JJFA.ZONGTIMUBIAO) PCQK
FROM BO_EU_JSGC_XMZB_JJFA JJFA
WHERE BEJX.BINDID = JJFA.BINDID
union all
SELECT (BGPC.MINGCHENG || ',' || BGPC.MIAOSHU) PCQK
FROM BO_EU_JSGC_XMZB_BGPC BGPC
WHERE BEJX.BINDID = BGPC.BINDID))) PCQK_YY
FROM BO_EU_JSGC_XMZB BEJX;
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu249523215 2020-07-27
  • 打赏
  • 举报
回复
引用 4 楼 nayi_224的回复:
没灌数据直接跑的?
有数据,运行后拼接也是正确的
riven2011 2020-07-27
  • 打赏
  • 举报
回复
引用 3 楼 hu249523215 的回复:
[quote=引用 2 楼 riven2011的回复:]这个执行计划是错的,sql本身语法不通是没法执行的

这个sql没错误呀[/quote]
你用的是10G版本,这个不符合不符合ANSI标准,属于BUG
nayi_224 2020-07-25
  • 打赏
  • 举报
回复
没灌数据直接跑的?
hu249523215 2020-07-24
  • 打赏
  • 举报
回复
hu249523215 2020-07-24
  • 打赏
  • 举报
回复
引用 2 楼 riven2011的回复:
这个执行计划是错的,sql本身语法不通是没法执行的
这个sql没错误呀
riven2011 2020-07-24
  • 打赏
  • 举报
回复
这个执行计划是错的,sql本身语法不通是没法执行的

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧