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命令未正确结束' 处理办法的主要内容,如果未能解决你的问题,请参考以下文章

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

带有 order by 子句的 SQL 查询

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序?

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序?

sql 排序,order by 按时间

SQL如何使用order by语句查询数据表的多字段