这里是我的查询:甲骨文缺少右括号
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