残念ながら、これを純粋にMySQLで行うことはできません。結果セットでは、列の数が異なる行を含めることはできません。いくつかのアプリケーションロジックを実装する必要があります。これに最も近いのは次のとおりです:
select m.id, GROUP_CONCAT(voto SEPARATOR ',')
from messages m
left join votations v on v.messageID = m.id
group by m.id;
これにより、次の形式が返されます:
ID GROUP_CONCAT(VOTO SEPARATOR ',')
1 2,5,6
2 2,12,3
これがここで機能していることを確認できます: http://sqlfiddle.com/#!2/241a8/ 3