MYSQL: Abfrageproblem
lachesis
- datenbank
Hallo zusammen,
ich hab ein (für euch hoffentlich) kleines Problem.
Eine Tabelle meiner Datenbank sieht so aus
id vorname nachname ehem_name
Momentan lautet meine Abfrage zB:
SELECT id,vorname,nachname,ehem_name
FROM user
WHERE nachname LIKE S%
ORDER BY nachname
Das funktioniert auch alles soweit ganz gut.
Jetzt hat ein User gefragt ob ich nicht auch die ehemaligen Namen in die Liste mit aufnehmen könnte.
Es soll also auch Lieschen Müller, das jetzt Schmitt heißt aufgeführt werden. Könnt ihr mir einen Tipp geben wie das geht?
Danke
Gruß lach
Hallo,
Es soll also auch Lieschen Müller, das jetzt Schmitt heißt aufgeführt werden. Könnt ihr mir einen Tipp geben wie das geht?
SELECT *
FROM user
WHERE nachname LIKE S% OR ehem_name LIKE S%
ORDER BY nachname
Shockdoc1
Hi & danke
SELECT *
FROM user
WHERE nachname LIKE S% OR ehem_name LIKE S%
ORDER BY nachname
das hab ich ja auch hingekriegt, aber so sortiert er ja nicht korrekt, denn Lieschen Mueller steht ja dann am Anfang der Liste.
Sieht so aus, als müsse ich das array nachher noch mit php sortieren oder?
Grüßle
hi,
das hab ich ja auch hingekriegt, aber so sortiert er ja nicht korrekt, denn Lieschen Mueller steht ja dann am Anfang der Liste.
Lieschen Mueller heisst jetzt aber Lieschen Schmitt, also sollte sie auch zwischen R und T stehen, oder?
gruss,
wahsaga
Ganz genau,
vielleicht wars falsch beschrieben,
wenn ich die Abfrage dann für M mache soll sie aber für Müller korrekt einsortiert werden und nicht die letzte Position für _S_chmitt kriegen.
Geht das überhaupt per sql?
THX
Hallo,
ORDER BY nachname
kannst du machen... Weiss aber ehrlich gesagt nicht genau was du meinst...
Shockdoc1
Hi
OK
ich hab ne Abfrage nach dem Anfangsbuchstaben des Nachnamens (jetzt M)
Mann
Mass
Marder
Monn
Myte
Schmitt (Müller)
ist das Ergebnis der Abfrage mit ORDER BY 'nachname'
Was ich gerne hätte ist
Mann
Mass
Marder
Monn
Schmitt (Müller)
Myte
Ist das so verständlicher? Danke für eure Geduld und Hilfe
hi,
ich hab ne Abfrage nach dem Anfangsbuchstaben des Nachnamens (jetzt M)
Monn
Myte
Schmitt (Müller)
ist das Ergebnis der Abfrage mit ORDER BY 'nachname'
Was ich gerne hätte ist
Monn
Schmitt (Müller)
Myte
das wird sich mit mysql-mitteln nur schwerlich machen lassen, wenn überhaupt.
packe alle werte aus dem abfrageergebnis in deinem php-script in ein array, und sortiere dieses nach deinen vorstellungen.
gruss,
wahsaga
das wird sich mit mysql-mitteln nur schwerlich machen lassen, wenn überhaupt.
packe alle werte aus dem abfrageergebnis in deinem php-script in ein array, und sortiere dieses nach deinen vorstellungen.
*seufz* Das habe ich schon befürchtet
Nun ja dann ich werd ich das wohl so machen müssen.
Danke an alle!
yo,
wende die funktion IF(ausdruck, mach1, mach2) für die spalte an und vergib einen alias namen, nach dem du sortierst.
SELECT if (alter_name IS NULL, nachname, alter_name) AS namen
FROM Tabelle
ORDER BY namen;
Ilja
Hello,
Dann musst Du mit einem (oder zwei) bedingten Feldern arbeiten und z.B. über die Contatinierung der beiden sortieren.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Dann musst Du mit einem (oder zwei) bedingten Feldern arbeiten und z.B. über die Contatinierung der beiden sortieren.
dasklingt gut! Bloß hab ich keinen Schimmer von was Du redest... *seufz*
Was ist denn zB Contatinierung ? Google kennt das Wort gar nicht...
THX