sql >> Database >  >> RDS >> Mysql

Join tabel met MAX waarde van een ander

De canonieke manier om dit aan te pakken, is door een subquery te gebruiken om de producten en hun maximumprijzen uit de product_supplier te identificeren. tabel, en vervolgens om deze subquery samen te voegen tot order om de gewenste resultatenset te krijgen.

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. JDBC SQLServerException:dit stuurprogramma is niet geconfigureerd voor geïntegreerde verificatie.

  2. Vind alle zoekopdrachten die een bepaalde tabel gebruiken

  3. Hoe de grenzen van groepen aaneengesloten opeenvolgende getallen te vinden?

  4. Casestudy van SQL Server Database Server Hardware-upgrade