Halihallo Meccarianer
Bisher habe ich das so gelöst: Ich nehme beim Speichern eines Eintrages den ersten Buchstaben des Namens. Ich überprüfe, ob sich der Buchstabe zwischen A - F oder G - L usw. liegt. Liegt der Buchstabe zwischen A - F dann bekommt der Eintrag die Sortierung "A". Liegt der Buchstabe beispielsweise bei G - L, bekommt der Eintrag die Sortierung "G" und immer so weiter. Wenn ich die Daten anschließend ausgebe, lasse ich nach dem Feld "Sortierung" sortieren.
Halte ich für OK.
Ich frage mich, ob es nicht eine einfachere Methode gibt, vielleicht direkt in der SQL-Abfrage.
einfacher? - depends...
a) den ersten Buchstaben in ASCII-Code auflösen, ASCII('A') abziehen und über MODULO
Operator in Gruppen aufteilen (geht nur, wenn die Gruppen _immer_ gleich lange sind,
also gleich viele Buchstaben zu einer Gruppe zusammengezogen werden)
b) neue Tabelle, die einen Buchstaben in eine GruppenID auflöst
c) ein neues Attribut, welches nur die zugeteilte Gruppe speichert und beim erstellen und
ändern eines Datensatzes immer aktualisiert wird.
d) Stored Prozedures um die Gruppe aufzulösen.
e) ???
für akzeptabel würde ich nur noch c) erklären... Eine SQL-Interne Funktion gibt es für
dies nicht.
Viele Grüsse
Philipp
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.