錯誤提示:> ORA-00933: SQL 命令未正確結(jié)束
初涉oracle,有些語法還不是很清楚,實際開發(fā)過程出現(xiàn)這樣的報錯提示霍骄,憑著原本做項目的sql server經(jīng)驗檢查了語句,沒發(fā)現(xiàn)任何異樣,百思不得其解梭伐。度娘之后,說是在oracle sql中仰担,要求order by是select語句的最后一個語句糊识,而且一個select語句中只允許出現(xiàn)一個order by語句,而且order by必須位于整個select語句的最后摔蓝。然后再看一眼自己寫的oracle sql似乎明白了赂苗,照著這樣的規(guī)則調(diào)整后,果真可以了贮尉。上代碼例子比較形象拌滋。
原本報錯的語句:
報錯的oracle語句
因為使用的UNION ALL連接合并兩次結(jié)果集,使用了GROUP BY的緣故猜谚,默認語句結(jié)束败砂,導致后面的UNION ALL無法識別到赌渣,就變成了未正確結(jié)束。
調(diào)整后語句如下:
調(diào)整后的oracle語句
主要修改原則是將原來的兩個UNION ALL的語句改成如下格式:
調(diào)整格式
先分別查出上下兩個結(jié)果集昌犹,再講結(jié)果集合并锡垄。
好記性不如爛筆頭,記錄如上祭隔,共勉之货岭。