最近在測試廠商提供的語法
意外發現一個我原先沒發生的情境
整個語法概念如下
Select A.Field1,A.Field2
From A,B
Where A.Field3 = B.Field1
And A.Field4 = ( Select xxxxxxxx From C Order by xxxx )
Order by A.Field1
整段語法,將兩個Select 個別執行,其實並沒有錯誤
但是唯獨合在一起會出錯
在Oracle誤判為 missing right parenthesis(阿明明就有括弧…..)
Google了半天,以這個錯誤訊息為主的文章
大多解釋為其他原因,當然是無解摟~
http://stackoverflow.com/questions/248046/does-oracle-allow-an-order-by-within-an-in-clause
直到參考了這個問題,他點出了Order by這個問題
才豁然開朗,對唷~為何要在子查詢(括弧內的Select) 加上Order by?
聽同事說,這樣的限制在MS SQL也是有的…..