sql >> Database >  >> RDS >> Mysql

Twee tafels, met een op veel relatie. Hoe waarden samen te voegen zonder dubbele rijen?

Helaas kun je dit niet puur in MySQL doen. In de resultatenset mag je geen rijen hebben met verschillende (aantal) kolommen. U moet enige toepassingslogica hebben geïmplementeerd. Het dichtst dat u hierbij kunt komen is:

select m.id, GROUP_CONCAT(voto SEPARATOR ',') 
from messages m 
left join votations v on v.messageID = m.id
group by m.id;

Dit geeft dit formaat terug:

ID  GROUP_CONCAT(VOTO SEPARATOR ',')
1   2,5,6
2   2,12,3

Je kunt dit hier zien werken:http://sqlfiddle.com/#!2/241a8/ 3




  1. Hoe doe je meerdere SQL-statements in één mysql_query?

  2. MySQL-server is verdwenen op UPDATE (enorme QUERY, ongeveer 85 MB) met behulp van mysli PHP

  3. Basisprincipes van een onthoud-mij-systeem

  4. Monitoring Percona Server voor MySQL - Belangrijkste metrische gegevens