2013-03-21 103 views
-1

這很簡單,但我無法理解ORA-00907:缺少右括號[like.no.other]

select distinct PROJ_ID from APPS.BUS_PLAN_PROJ --> ok 
(select distinct PROJ_ID from APPS.BUS_PLAN_PROJ) --> ok 
select distinct PROJ_ID from APPS.BUS_PLAN_PROJ order by PROJ_ID DESC --> ok 

(select distinct PROJ_ID from APPS.BUS_PLAN_PROJ 
             order by PROJ_ID DESC) --> ORA-00907 

那只是一小部分我真正的SQL。請幫我

注:我用Google搜索,但不能得到答案

+2

如果我們看不到完整的代碼,將很難調試。請編輯您的問題併發布您的代碼。 – Taryn 2013-03-21 17:39:38

+0

最後一條語句是合法的(儘管它的括號完全沒用) – 2013-03-21 17:40:31

+0

是的,最後一條語句是一個查詢,可作爲子查詢重用。我想我不能那樣做。對不起,問愚蠢的問題 – 2013-03-21 17:56:36

回答

2

我想這是一個較大的查詢中的子查詢,因爲它是在括號中。 ORDER BY是無效的子查詢,無論如何我無法想象。我懷疑這裏的訂單是不需要的或有用的。我懷疑oracle認爲右括號應該在ORDER BY之前,因爲排序應該應用於外部查詢。

+1

是的,最後一條語句是一個查詢,重用爲子查詢。我想我不能那樣做。謝謝,接受 – 2013-03-21 17:55:33

0

您不能在由集合運算符連接的子查詢中使用ORDER BY。
Example