Thomas W.: sql: wert "austauschen"

Beitrag lesen

Hallo,

das geht auch nicht :( weil man innerhalb eines sql-statements keinen zugriff auf variablen aus demselben statement hat, wenn man keine sql-funktion benutzt, so z b mit php. die variable "monat" ist leer, und ich bräucht es halt im sql . seufz..

Kannst Du in der DB noch eine Tabelle anlegen?
Die koennte dann wie folgt aussehen
Table: Schluessel
| Monatsname | Monatsnummer
| Januar     | 1
| Februar    | 2
usw.

und dann
select  Schluessel.monatsnummer from Schluessel, Deine_Tabelle where Schluessel.Monatsname = Deine_Tabelle.Monatsname

wobei Du das select-Statement noch mit Deinen Sachen erweitern kannst/musst.

alternativ:
Kennt Access den UNION-Befehl (Oracle hat ihn, Mysql nicht)? Wenn ja, koenntest Du ein Statement in folgender Form machen:

select Deine_spalten, "1" as monatsnummer from Deine_Tabelle where Monat = "Januar"
UNION
select Deine_spalten, "2" as monatsnummer from Deine_Tabelle where Monat = "Februar"
UNION
select Deine_spalten, "3" as monatsnummer from Deine_Tabelle where Monat = "Maerz"
usw.

Das ist dann ein Performance-Monster, da Du effektiv 12 Selects machst, aber sollte funkionieren (wenn auch ungetestet).

Gruss

Thomas