あなたの問題は、2つ(またはそれ以上)のstore
がある場合です 行と2つ(またはそれ以上)の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)