Tôi có 3 bảng: hàng hóa, cửa hàng và bức ảnh. Trong tiêu đề hàng hóa bảng đầu tiên được lưu trữ. Trong sự cân bằng thứ hai của hàng hóa trong các cổ phiếu khác nhau, trong thứ ba - liên kết đến hình ảnh hàng hóa. Vì vậy, hàng hóa có kết nối một-nhiều với cửa hàng và bức ảnh. Bây giờ, tôi cần có danh sách hàng hóa với tổng số cổ phiếu và số lượng hình ảnh bằng một truy vấn. Tôi đã làm như sau:Tham gia trái, tổng hợp và đếm nhóm theo số
SELECT good.id, good.title, sum(store.rest) AS storerest, count(pics.id) AS picscount
FROM goods
LEFT JOIN store ON (goods.id = store.goodid)
LEFT JOIN pics ON (goods.id = pics.goodid)
GROUP BY goods.id`
Tất cả có vẻ ổn trong khi có 0 hoặc 1 ảnh. Nhưng khi nó có 2 - kho chứa tăng gấp đôi, và tôi không thể hiểu tại sao. Có gì sai?
Nếu bạn loại bỏ mệnh đề GROUP BY của bạn, bạn sẽ thấy lý do tại sao sum (store.rest) không phải là những gì bạn mong đợi. – Alex