PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Questions de sous-requête SQL, ERREUR :référence non valide à l'entrée de la clause FROM...

Essayez celui-ci

SELECT p1.*, (
    SELECT price_cents 
    FROM "prices" p 
    WHERE p1.game_id = p.game_id  
    ORDER BY p.created_at DESC LIMIT 1 OFFSET 1
) as price_cents 
FROM "prices" p1 

MISE À JOUR selon le commentaire des auteurs

Si vous avez besoin de plus d'une colonne de la deuxième entrée récente, vous pouvez essayer l'extrait suivant

SELECT * FROM (
    SELECT p.*, (
        SELECT id 
        FROM "prices" 
        WHERE p.game_id = game_id  
        ORDER BY created_at DESC LIMIT 1 OFFSET 1
    ) AS second_id 
    FROM "prices" p
) p1 INNER JOIN "prices" p2 ON p1.second_id = p2.id