Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tham gia bảng có giá trị MAX từ một bảng khác

Cách chuẩn để tiếp cận điều này là sử dụng truy vấn con để xác định các sản phẩm và giá tối đa của chúng từ product_supplier bảng, sau đó nối truy vấn con này với order để có được bộ kết quả bạn muốn.

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. virtualenv có thể tìm các thủ thư đã được di dời (như mysqlclient lib cho MySQLdb)

  2. Tổng phép nhân các cột cho các hàng có ID tương tự trong MySQL

  3. Tôi nên lưu trữ bao nhiêu chữ số có nghĩa trong cơ sở dữ liệu của mình cho một tọa độ GPS?

  4. SQLAlchemy - Lấy danh sách các bảng

  5. # 1115 - Bộ ký tự không xác định:'utf8mb4'