आपकी समस्या यह है कि जब आपके पास दो (या अधिक) store
. हों पंक्तियाँ और दो (या अधिक) pics
एक goods
. के लिए पंक्तियाँ पंक्ति, आप पंक्तियों के सभी संयोजनों के उत्पाद के साथ समाप्त होते हैं।
इसे ठीक करने के लिए, शामिल होने से पहले अपना एकत्रीकरण करें:
SELECT
good.id,
good.title,
IFNULL(s.storerest, 0) AS storerest,
IFNULL(p.picscount, 0) AS picscount
FROM goods
LEFT JOIN (
SELECT goodid, sum(rest) AS storerest
FROM store
GROUP BY goodid
) s ON (goods.id = s.goodid)
LEFT JOIN (
SELECT goodid, count(id) AS picscount
FROM pics
GROUP BY goodid
) p ON (goods.id = p.goodid)