Discussion:
Beim Select Zahl durch Text ersetzen??
(zu alt für eine Antwort)
Mike Ritter
2003-09-27 17:34:08 UTC
Permalink
Hallo Zusammen,

weiß jemand wie man beim Select eine Zahl durch einen String ersetzen kann?
Geht das überhaupt? Wie lautet die Abfrage?

SELECT geschlecht vorname FROM vornamen

"geschlecht" ist eine Zahl, 0 = nicht angegeben, 1 = mann, 2 = frau. Wenn
ich oberen Select durchführe dann hab ich ja im Feld "geschlecht" 0, 1 oder
2... wie kann ich diese Werte automatisch beim Select durch "kein", "Mann"
oder "Frau" ersetzen? Ich will es nicht mit einem extra Code machen (z.B.
bei PHP mit den Replace-Funktionen).

Danke im Voraus, Mike.
n.Olivier
2003-09-27 18:02:57 UTC
Permalink
hi
Post by Mike Ritter
Hallo Zusammen,
weiß jemand wie man beim Select eine Zahl durch einen String ersetzen kann?
Geht das überhaupt? Wie lautet die Abfrage?
SELECT geschlecht vorname FROM vornamen
"geschlecht" ist eine Zahl, 0 = nicht angegeben, 1 = mann, 2 = frau. Wenn
...

select if(geschlecht=0,'kein',if(geschlecht=1,'mann','frau')) as
NameGeschlecht ...

gruß n.Olivier
Georg Richter
2003-09-27 21:03:02 UTC
Permalink
Post by Mike Ritter
SELECT geschlecht vorname FROM vornamen
"geschlecht" ist eine Zahl, 0 = nicht angegeben, 1 = mann, 2 = frau. Wenn
ich oberen Select durchführe dann hab ich ja im Feld "geschlecht" 0, 1
oder 2... wie kann ich diese Werte automatisch beim Select durch "kein",
"Mann" oder "Frau" ersetzen? Ich will es nicht mit einem extra Code machen
(z.B. bei PHP mit den Replace-Funktionen).
Zum einen kannst Du ENUM verwenden, allerdings fängt der Index da mit 1 an,
dazu musst die Tabelle entsprechend ändern.

Ansonsten

SELECT ELT(geschlecht+1, "kein", "mann", "frau") from yourtable

Georg
Frank Arthur
2003-09-28 10:43:38 UTC
Permalink
Post by Mike Ritter
weiß jemand wie man beim Select eine Zahl durch einen String ersetzen kann?
Geht das überhaupt? Wie lautet die Abfrage?
SELECT geschlecht vorname FROM vornamen
"geschlecht" ist eine Zahl, 0 = nicht angegeben, 1 = mann, 2 = frau. Wenn
ich oberen Select durchführe dann hab ich ja im Feld "geschlecht" 0, 1 oder
2... wie kann ich diese Werte automatisch beim Select durch "kein", "Mann"
oder "Frau" ersetzen? Ich will es nicht mit einem extra Code machen (z.B.
bei PHP mit den Replace-Funktionen).
Du kannst eine zweite Tabelle anlegen mit den Texten für die Zahlen:

Zahl Text
0 "kein"
1 "mann"
2 "frau"

Dann fragst du die Tabellen mit einem join ab.

Loading...