這裏是我的查詢:甲骨文缺少右括號
SELECT * FROM Auta WHERE SUBSTR(spz, 1, 2) =
(SELECT SUBSTR(spz, 1, 2) FROM Auta WHERE typ = 'BMW' AND specifikacia_typu = 'Z1' LIMIT 1);
當我運行它,我得到這個錯誤:
ORA-00907: missing right parenthesis
我開始有點絕望了,我已經嘗試添加查詢中無處不在的括號,我仍然得到錯誤?在查詢中有3個左括號和3個右括號,所以一切都應該是正確的。
謝謝。我是Oracle新手,我習慣於MySQL和PostgreSQL :) – 2009-10-07 21:32:29
您需要注意「ROWNUM = 1」語法。我不知道它是否可以在這種情況下工作,但是從子查詢返回的記錄是不確定的 - 即每次運行查詢時可能會返回不同的記錄。如果您希望獲得一致的返回結果,請將子查詢包裝到另一個帶有「order by」的子查詢中。 – 2009-10-13 13:24:25
@Nick:原始LIMIT 1的結果也是不確定的。反正沒有ORDER BY,所以我認爲任何行都可以。 – 2009-10-13 13:48:44