Originariamente inviato da nicola75ss
per ottenere il raggruppamento per peso e statura basta che aggiungi anche l'altro campo al group by
GROUP BY persona.id_altezza,persona.id_corporatura
per visualizzare i dati come vuoi tu dovresti farlo col php.
edit. In alternativa potresti crearti una tabella temporanea e poi su questa fare una query a campi incrociati.
create temporary table incrociata
SELECT COUNT(*) as quanti, altezza.tipo as altezza, corporatura.tipo as peso
FROM persona INNER JOIN altezza ON persona.id_altezza=altezza.id
INNER JOIN corporatura ON persona.id_corporatura=corporatura.id
GROUP BY persona.id_altezza,persona.id_corporatura
e poi fare una query così
select peso,
sum(case altezza WHEN "alto" then quanti else 0 end) AS alto,
sum(case altezza WHEN "medio" then quanti else 0 end) AS medio,
sum(case altezza WHEN "basso" then quanti else 0 end) AS basso
from incrociata
group by peso
fammi sapere.