sql >> Databáze >  >> RDS >> Mysql

Připojte tabulku s MAX hodnotou z jiné

Kanonický způsob, jak toho dosáhnout, je použít dílčí dotaz k identifikaci produktů a jejich maximálních cen od product_supplier tabulku a poté připojit tento dílčí dotaz k order abyste získali požadovanou sadu výsledků.

SELECT t1.orderID,
       t1.productID,
       COALESCE(t2.cost_price, 0.0) AS cost_price  -- missing products will appear
FROM order t1                                      -- with a zero price
LEFT JOIN
(
    SELECT productID, MAX(cost_price) AS cost_price
    FROM product_supplier
    GROUP BY productID
) t2
    ON t1.productID  = t2.productID AND
       t1.cost_price = t2.cost_price


  1. 5 Výhody Microsoft Access, které musíte znát

  2. Chyba Ruby/PgSQL při spuštění Rails:nelze načíst takový soubor -- pg_ext (LoadError)

  3. Poddotaz v příkazu SELECT (MySQL)

  4. Jak se může VBA připojit k databázi MySQL v Excelu?