因为使用 union Oracle 会有一个排序的动作,所以它不允许你在每一个单独的SQL中使用Order By
不过 使用 union all 虽然不排序,但它也不允许使用Order By,他们都只允许对整个组合的SQL语句有一个 Order By不明白你为什么在每一个中要使用 Order By把你的第一个Order By 去掉就可以了
SELECT a,b,c,d FROM A WHERE ...
UNION
SELECT j,k,l,m FROM B WHERE ... ORDER BY m