Mysql
 sql >> база данни >  >> RDS >> Mysql

Присъединяване на таблица с MAX стойност от друга

Каноничният начин да се подходи към това е да се използва подзаявка за идентифициране на продуктите и техните максимални цени от product_supplier таблица и след това да присъедините тази подзаявка към order за да получите желания набор от резултати.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AES криптиране в mysql и php

  2. Схема на база данни на системата за съобщения

  3. актуализиране на таблицата с данни от друга таблица, ако не е нула?

  4. Защо GRANT не работи в MySQL?

  5. Решение за вмъкване на заключване на намерение в MySQL