Sfortunatamente non puoi farlo esclusivamente in MySQL. Nel set di risultati non puoi avere righe con (numero di) colonne diverse. È necessaria l'implementazione della logica dell'applicazione. Il più vicino che puoi raggiungere è:
select m.id, GROUP_CONCAT(voto SEPARATOR ',')
from messages m
left join votations v on v.messageID = m.id
group by m.id;
Questo restituirà questo formato:
ID GROUP_CONCAT(VOTO SEPARATOR ',')
1 2,5,6
2 2,12,3
Puoi vederlo funzionare qui:http://sqlfiddle.com/#!2/241a8/ 3