oracle 两个sql带有order by的使用union/union all的时候报错 'ORA-00933:sql命令未正确结束' 处理办法

Posted 夏夜凉凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 两个sql带有order by的使用union/union all的时候报错 'ORA-00933:sql命令未正确结束' 处理办法相关的知识,希望对你有一定的参考价值。

错误语句:select id,name from s1 order by stime union all select id,name from s2 order by stime 

报错原因:oracle 搜索到order by后认为整个select语句就该结束了但是后面还有union all所以数据库无法解析,导致报错

处理办法:with a1 as (select id,name from s1 order by stime) , a2 as (select id,name from s2 order by stime)  select * from a1 union all select * from a2

以上是关于oracle 两个sql带有order by的使用union/union all的时候报错 'ORA-00933:sql命令未正确结束' 处理办法的主要内容,如果未能解决你的问题,请参考以下文章

oracle SQL语句中结合order by子句使用rownum

Oracle SQL - 从最近三个 GRN 日期获取项目的最高 (Max) 价格 (Order By)

Oracle order by query 使用 select case

SQL(ORACLE):ORDER BY 和 LIMIT [重复]

在 Toad for Sql Server 2016 中使用带有 Union All 的 Order By 子句时出现奇怪的语法错误

使用带有 ORDER BY 的 SQL Server 查找累积总和