Rouven: SELECT mit JOIN und LIMIT GROUP BY Problem

Beitrag lesen

Hello,

SELECT
r.kundennummer,
r.rechnungsdatum,
r.rechnungsnummer,
k.anrede,
k.vorname,
k.name,
k.kundennummer,
p.rechnungsnummer,
SUM(p.anzahl * p.einzelpreis)
  GROUP BY p.rechnungsnummer>>
... und geht.

ahhhhhhhhh - ich verfluche MySQL. Was du da baust ist laut SQL-Standard ein falsches Statement. Du darfst in einer Gruppierung nur Spalten selektieren nach denen entweder gruppiert wurde (p.rechnungsnummer), oder die auf einer Aggregatsfunktion (MAX, MIN, SUM, ...) basieren (SUM(p.anzahl * p.einzelpreis)). Für alle anderen Werte liegt nämlich praktisch keine Vorschrift vor, welcher Wert aus der Gruppe genommen werden soll. Wenn sie für die Gruppe alle gleich sind, dann nimm sie in das GROUP BY mit auf, wenn nicht, dann überlege dir bitte unter welchen Gesichtspunkten man den richtigen Wert auswählt.
Nochmal: MySQL akzeptiert dein Statement und reimt sich zusammen was du gemeint haben könntest, aber es ist schlichtweg fehlerhaft...

MfG
Rouven

--
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Wenn du die Nadel im Heuhaufen nicht findest, zünde den Heuhaufen an.