Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zwei Tabellen, mit einer zu vielen Beziehung. Wie verbinde ich Werte ohne doppelte Zeilen?

Leider können Sie dies nicht rein in MySQL tun. In der Ergebnismenge können Sie keine Zeilen mit unterschiedlicher (Anzahl von) Spalten haben. Sie benötigen eine implementierte Anwendungslogik. Am nächsten kommt man hierher:

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

Dies gibt dieses Format zurück:

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

Sie können dies hier sehen:http://sqlfiddle.com/#!2/241a8/ 3