Bohužel to nemůžete udělat čistě v MySQL. V sadě výsledků nemůžete mít řádky s různými (počet) sloupců. Potřebujete implementovat nějakou aplikační logiku. Nejblíže se k tomu můžete dostat:
select m.id, GROUP_CONCAT(voto SEPARATOR ',')
from messages m
left join votations v on v.messageID = m.id
group by m.id;
Tím se vrátí tento formát:
ID GROUP_CONCAT(VOTO SEPARATOR ',')
1 2,5,6
2 2,12,3
Jak to funguje, můžete vidět zde:http://sqlfiddle.com/#!2/241a8/ 3