SELECT z.*,y.tuotenimi
FROM (
SELECT o.id,o.osanimi,MIN(t.id) AS tuoteid, COUNT(t.id) as tuotteita
FROM osat AS o
LEFT JOIN osa_tuote AS ot ON o.id=ot.osa_id
LEFT JOIN tuotteet AS t ON ot.tuote_id=t.id
GROUP BY o.id
) AS z
LEFT JOIN tuotteet AS y ON y.id=z.tuoteid;
Ja jos osia halutaan rajata, niin WHERE tuonne alikyselyyn:
SELECT z.*,y.tuotenimi
FROM (
SELECT o.id,o.osanimi,MIN(t.id) AS tuoteid, COUNT(t.id) as tuotteita
FROM osat AS o
LEFT JOIN osa_tuote AS ot ON o.id=ot.osa_id
LEFT JOIN tuotteet AS t ON ot.tuote_id=t.id
WHERE o.osanimi LIKE '%sur%'
GROUP BY o.id
) AS z
LEFT JOIN tuotteet AS y ON y.id=z.tuoteid;