Il tuo problema è che quando hai due (o più) store
righe e due (o più) pics
righe per una singola goods
riga, si ottiene il prodotto di tutte le combinazioni di righe.
Per risolvere questo problema, fai la tua aggregazione prima di unirti:
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)