sql >> Database teknologi >  >> RDS >> Mysql

To borde, med et til mange forhold. Hvordan forbinder man værdier uden dublerede rækker?

Desværre kan du ikke gøre dette udelukkende i MySQL. I resultatsættet kan du ikke have rækker med forskellige (antal) kolonner. Du skal have implementeret noget applikationslogik. Det tætteste du kan komme på dette er:

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

Dette vil returnere dette format:

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

Du kan se dette virke her:http://sqlfiddle.com/#!2/241a8/ 3




  1. Konvertering af mysql TIME fra 24 HR til AM/PM format

  2. Sådan beregnes omsætningen hvert semester

  3. Indsættelse af html-kode i en mysql-tabel

  4. BeanCreationException:Fejl ved oprettelse af bean med navnet 'flywayInitializer'