Hello,
passe ein CMS (PHP und MySQL) an, leider ist in diesem CMS für "Name" nur eine Spalte (für Vor- und Zunamen) in der Datenbank vorgesehen, der Name taucht an 1000 Stellen auf, und ich habe keine Lust, eine neue Spalte einzuführen. Jetzt das Problem: die Namen sollen nach dem Nachnamen geordnet werden (alphabetisch), der dummerweise an 2.Stelle steht.
Also: Gibt es ein SQL Abfrage-Möglichkeit, eine alphabetische Anordnung der Datensätze vorzunehmen, geordnet nach dem letzten Wort eines Strings?
es gibt
Substring(string,pos,len)
Right(String,len)
InStr(string,substr)
Substring_Index(string,find,number) <-- das arbeitet auch von hinten!
Daraus solltest Du das eigentlich basteln können.
Bedenke, dass MySQL ( auch bei InStr() ) mit 1 anfängt zu zäheln und 0 bedeutet, dass das Zeichen nicht im String enthalten ist.
Es wird dich aber enorm viel Performance kosten.
Besser wäre es also, die Spalte Nachname
einzuführen und dann einmal ein Reparaturtool dafür zu erstellen.
Nachname = substring_index(trim(string),' ',-1)
sollte also Deine Lösung sein.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau