Vinzenz Mai: Kann MySQL das?

Beitrag lesen

Hallo Klaus,

MySQL ändert zwar die Nummern gem. CASE-Anweisung, aber auch nur die (und bhält nicht die anderen Nummern bei) geschweige denn, dass MySQL die neuen durch CASE-Anweisung geänderten Nummern mit den durch Eintrag identischen Nummern gruppiert.

von selbst kommt MySQL nicht auf die Idee, dass es nach der berechneten Spalte gruppieren soll.

SELECT k.Name,
(CASE b.Nummer
WHEN 'xx001' THEN 'xx-0001'

[...]

WHEN 'xx006' THEN 'xx-0006'

-- Vergiss nicht die Werte, die beibehalten werden sollen

END)

-- Vergib der berechneten Spalte einen Aliasnamen.
, b.Adresse

FROM ...
GROUP BY b.Nummer, f.Game

-- und gruppiere nicht nach Spalte Nummer, sondern nach den Werten der
-- berechneten Spalte.
-- [link:http://dev.mysql.com/doc/refman/5.1/en/problems-with-alias.html@title=Aliasnamen darfst Du in der GROUP-BY-Klausel verwenden].

...

  
  
  
Freundliche Grüße  
  
Vinzenz