sql >> Databáze >  >> RDS >> PostgreSQL

Otázky poddotazu SQL, ERROR:neplatný odkaz na položku klauzule FROM ...

Zkuste tento

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 

AKTUALIZACE podle komentáře autorů

Pokud potřebujete více než jeden sloupec z druhého posledního záznamu, můžete zkusit následující snippet

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


  1. SELECT s proměnnými dotazu, které nepoužívají INDEXy

  2. mysql_real_escape_string není dost dobrý?

  3. Pokročilé abecední řazení MySQL s předponou?

  4. Multi-Cloud Full Database Cluster Možnosti převzetí služeb při selhání pro MariaDB Cluster