【发布时间】:2012-09-12 23:26:32
【问题描述】:
我一直在为SQL 苦苦挣扎一段时间。我必须构建一个查询以从表中返回第二高的 id。听起来很简单,尤其是如果您找到了that link。
但我有一个更复杂的查询:
SELECT
p.column1,
p.column2,
p.column3,
p.column4,
(
SELECT
p.column1
FROM
p_table p
WHERE
p.column2 = (
SELECT
id
FROM (
SELECT
id,
RANK() OVER (ORDER BY id DESC) rank_id
FROM
other_table
WHERE
field = p.column3
)
WHERE
rank_id = 2
)
) AS sth
FROM ...
Oracle 在p.column3 上说ORA-00904: Unknown identifier。
我理解它为什么这么说 - 它不将 p 识别为表名别名。
是否可以将其传递给嵌套查询?
【问题讨论】:
标签: sql select oracle10g scope correlated-subquery