[MySQL] concat & group by Problem

Hallo zusammen,
wenn ich in einer Abfrage mit concat und group by arbeite wird mir der concat-Teil m. E. nach nicht korrekt ausgegeben. Bsp.:

SELECT
 vs.teilnehmer\_id,
 CONCAT(vs.seminar\_id, " ", vs.seminar) AS Seminar,
 vs.seminar,
 IFNULL(SUM(punkte),0) AS Bewertung
 FROM view\_seminar vs
 LEFT JOIN view\_seminar\_punkte vsp ON vsp.seminar\_id = vs.seminar\_id
 WHERE vs.teilnehmer\_id \> 370 && vs.teilnehmer\_id 

Ich bekomme hier als Ergebnis z. B.


    
    370 | 1 Test8 | Test1 | 4
    370 | 2 Test8 | Test2 | 3




Das Ergebnis sollte aber so aussehen (vgl. Spalte 2):


    
    370 | 1 Test1 | Test1 | 4
    370 | 2 Test2 | Test2 | 3




Was mache ich falsch?

Danke für Tipps,

Gruß

Marcel

Hallo Marcel,

das Statement sollte eher lauten

SELECT vs.teilnehmer\_id,
 CONCAT(vs.seminar\_id, " ", vs.seminar) AS Seminar,
 vs.seminar,
 SUM(IFNULL(punkte,0)) AS Bewertung
 FROM view\_seminar vs
 LEFT JOIN view\_seminar\_punkte vsp 
 ON vsp.seminar\_id =vs.seminar\_id
 WHERE vs.teilnehmer\_id \> 370 && vs.teilnehmer\_id 
Ohne Testdaten kann ich das nicht natürlich verifizieren, aber ich vermute, dass der Teilnehmer 373 das Seminar Test8 besucht hat.

Bitte beachte auch, dass ich die Funktionen IFNULL und SUM gedreht habe. Sonst könnte es sein, dass bei nicht gesetzten Punktwert für ein Seminar die gesamte Summe 0 ist, obwohl die anderen Punkte eine größere Summe ergeben.

MfG Georg V.

Hallo Georg V.
vielen Dank für deine Hilfe,
zwar leidern och nicht dazu gekommen es zu testen, ist aber inhaltlich schon mal sehr aufschlussreich.

Vielen Dank nochmals

Gruß

Marcel