Tôi có hai bảng: -MySQL UPDATE, MAX, JOIN truy vấn
manu_table
product_id, manufacturer
1, ford
2, ford
3, toyota
product_table
product_id, score
1, 80
2, 60
3, 40
Tôi muốn để lưu trữ các product_id ghi bàn hàng đầu cho mỗi nhà sản xuất trong một bảng tóm tắt: -
summary_table
manufacturer, max_score
ford, 1
toyota, 3
Vì vậy, đến nay tôi đã có: -
UPDATE summary_table st
SET max_score = (
SELECT product_id
FROM (
SELECT manufacturer, product_id, max(score) as ms
FROM manu_table
LEFT JOIN product_table USING (product_id)
group by product_id) t)
WHERE st.manufacturer = manu_table.manufacturer;
Có khó khăn ... Tất cả trợ giúp đều được đánh giá rất cao.
Bạn gặp sự cố gì? – dansasu11
bạn có gặp lỗi không? đầu ra từ truy vấn hiện tại của bạn là gì? – northpole