Fruxy Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 Schönen guten Morgen wünsche ich :-)! Der Titel ist etwas wirr, wusste nicht so recht wie ich mein Problem ausdrücken sollte... deswegen schreibe ich es noch einmal etwas ausführlich: Ich hole mir aus einer Datenbank bestimmte Namen die folgt aussehen: "Vorname Nachname" Mit der ORDER BY Befehl kann ich diese auch gleich sortieren lassen, leider nur nach dem Vornamen. Nun hätte ich das gerne aber nach den Nachnamen gelistet. Der Vorname und der Nachname sind gemeinsam gespeichert. Gibt es eine Möglichkeit zu sagen, das nach der Zeichenkette sortiert werden soll, die nach dem Leerzeichen folgt? Oder hat jemand evtl. einen anderen Vorschlag ? Würde mich sehr freuen über einen kleinen Denkanstoss oder über diesen Befehl, wenn sowas möglicht ist Liebe Grüße Fruxy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
diemah Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 Probier es mit: ... order by SUBSTR(NAME_FELD,INSTR(NAME_FELD,' ')) (ist ungetestet) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 Zwar nicht schön aber funktioniert. SELECT name FROM test ORDER BY substring(name,locate(' ',name)) [/php] Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
delen Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 auch wenn bereits eine Lösung genannt wurde. Wie wärs mit ein wenig Normalisierung in der Tabelle . Kannst ja aus der einen Spalte zwei Spalten machen (vorname, nachname). Bestimmt nicht schlecht für die Zukunft. grüße delen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fruxy Geschrieben 25. Juni 2009 Autor Teilen Geschrieben 25. Juni 2009 Dankt euch, mein Problem ist damit schon gelöst :-)! @delen Jah, das kam mir auch schon in den Sinn, hätte es wohl auch so gemacht. Wollte wissen, ob es aber auch so geht, sollte ein gewisser Lern-Effekt auftreten. Jedenfalls, vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T3D Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 Zwar nicht schön aber funktioniert. SELECT name FROM test ORDER BY substring(name,locate(' ',name)) [/php] Frank was machen denn die armen leute mit doppelname? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 Moin, ich meine, Normalisierung wäre hier auf jeden Fall angebracht, wenn diese Möglichkeit besteht. Die wilden Stringoperationen, die hier als Lösungsvorschläge gemacht wurden, kann man beim trennen in 2 Felder bestimmt verwenden, aber man müsste hinterher die Tabelleneinträge überprüfen, falls das möglich ist. Es gibt auch Namen mit mehreren Leerzeichern, nur mal so angemerkt. Reinhold, der im echten Leben "Knut Gustav Freiherr von und zu auf und davon" heisst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Juni 2009 Teilen Geschrieben 25. Juni 2009 was machen denn die armen leute mit doppelname? Würde prinzipiell funktionieren. Aber eine Normalisierung macht wie bereits angesprochen Sinn. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.