Order by 后面不能直接Union

同事写了一个SQL

SELECT ERROR_MESSAGE, ERROR_CODE FROM CT_WBA_NEWCHECK_NEWSACODES  ORDER BY ERROR_MESSAGE
UNION ALL
 SELECT ERROR_MESSAGE, ERROR_CODE from ct_infoprod_errorcode ORDER BY ERROR_MESSAGE;

结果报如下错误:sql

原来是order by 后不能union,order by 必须在查询语句的最后。
因此我们可先结束这次查询,在他外面嵌套一层。

SELECT  ERROR_MESSAGE, ERROR_CODE FROM (
        SELECT ERROR_MESSAGE, ERROR_CODE FROM CT_WBA_NEWCHECK_NEWSACODES  ORDER BY ERROR_MESSAGE)
UNION ALL
 SELECT ERROR_MESSAGE, ERROR_CODE from ct_infoprod_errorcode ORDER BY ERROR_MESSAGE;

猜你喜欢

转载自blog.csdn.net/eternal1d/article/details/80760983