我已经挣扎SQL
了一段时间了。我必须构建一个查询以从表中返回第二高的 id。听起来很简单,尤其是当您找到该链接时。
但我有一个更复杂的查询:
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 说ORA-00904: Unknown identifier at p.column3
. 我理解它为什么这么说 - 它不能识别p
为表名别名。
是否可以将其传递给嵌套查询?