English 中文(简体)
Oracle 查询 依顺序选择
原标题:Oracle Query Subselect with order by

我通常使用MS SQL, 并且是一个与甲骨文完全新人。

当我在我的子查询中使用 < code> ORDER by 语句时,我遇到了一个甲骨文驱动程序的问题。

举例来说(我的真实声明要复杂得多, 但我怀疑这对我的问题很重要, 如果需要,我可以张贴):

SELECT col1
     , col2
     , (SELECT colsub FROM subtbl WHERE idsub = tbl.id AND ROWNUM=1 ORDER BY coldate) col3
FROM tbl

如果我做了这样一个构思,我就会发现一个误差驱动力错误:ORA-00907:右括号缺失(德文译自德文,括号可能是其他词:))。

如果我用冷冻 < / code > 来删除 < code> ORDER, 一切都会好起来。 我找不到任何理由, 我有什么错?

最佳回答

以这种方式写ROWNUM和ORDER是没有任何道理的,因为命令BY在“何处”条款之后经过评估,这意味着它在本案中没有效果,例如,