Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bergabunglah dengan tabel dengan nilai MAX dari yang lain

Cara kanonik untuk mendekati ini adalah dengan menggunakan subkueri untuk mengidentifikasi produk dan harga maksimumnya dari product_supplier tabel, dan kemudian bergabung dengan subkueri ini ke order untuk mendapatkan hasil yang Anda inginkan.

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. Diperlukan untuk menggabungkan 2 tabel dengan FK mereka di tabel ke-3

  2. Cara membuat skrip login yang aman di PHP dan MySQL

  3. Kode kesalahan MySQL:1175 selama UPDATE di MySQL Workbench

  4. Kesalahan MySQL 1093 - Tidak dapat menentukan tabel target untuk pembaruan dalam klausa FROM

  5. Apakah ada cara untuk mencocokkan IP dengan IP+CIDR ​​langsung dari kueri SELECT?