经与SQL(目前使用PostgreSQL)麻烦SQL子查询的问题,“错误:无效引用FROM子句项...”
我有这个疑问,我需要比较最近项和第二最近的项目:
SELECT p1.*, p2.price_cents FROM "prices" p1
INNER JOIN
(
SELECT price_cents, game_id from prices as p WHERE p.game_id = p1.game_id
ORDER BY p.created_at DESC LIMIT 1 OFFSET 1
)
p2 ON p2.game_id = p1.game_id
这会产生一些错误:
ERROR: invalid reference to FROM-clause entry for table "p1"
LINE 1: ...AND p.game_id = p1.game_id...
^
HINT: There is an entry for table "p1", but it cannot be referenced from this part of the query.
是否有任何理由我不能从子查询访问P1,它是一个存在的问题,如,P1的数据ISN还没有?有没有另一种方法来做到这一点与JOIN?
就在下面的代码片段方面说明:你不需要价格附近的引号 –