Проблемы с SQL (в настоящее время используется postgresql)
У меня есть этот запрос, так как мне нужно сравнить самый последний элемент и второй самый последний элемент:
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 еще не доступны? Есть ли другой способ сделать это с помощью JOIN?