Lukas.: sql: Sortierung

Beitrag lesen

Hallo zusammen,

Wenn der Prefix unterschiedlich lang sein kann, muss man sich was überlegen, wie man den entfernen kann. Zum Beispiel einen Substring nach dem Bindestrich ermitteln. MySQL hat ja auch Stringfunktionen an Bord.

Das dachte ich mir auch, aber folgende Query bringt folgendes Ergebnis. Warum? (ABC ist übrigens das Lieferantenkürzel, womit ansich die nachfolgende Sortierung ein bischen doppelt gemoppelt ist, was aber nichts zur Sache tut)

... ORDER BY 
Lieferant,
SUBSTRING_INDEX( Artikelnummer, '-', 1 ),
SUBSTRING_INDEX(SUBSTRING_INDEX(Artikelnummer, '-', 2), '-', -1)

Ergebnis:

ABC-200412006
ABC-31007896
ABC-31007898

Das dürfte doch nicht, oder?

Lukas