Niestety nie możesz tego zrobić wyłącznie w MySQL. W zestawie wyników nie możesz mieć wierszy z inną (liczbą) kolumn. Potrzebujesz zaimplementowanej logiki aplikacji. Najbliżej możesz się do tego dostać:
select m.id, GROUP_CONCAT(voto SEPARATOR ',')
from messages m
left join votations v on v.messageID = m.id
group by m.id;
To zwróci ten format:
ID GROUP_CONCAT(VOTO SEPARATOR ',')
1 2,5,6
2 2,12,3
Możesz to zobaczyć tutaj:http://sqlfiddle.com/#!2/241a8/ 3