klettermax
Grünschnabel
Hallo liebe Programmierer!
Gerade habe ich dieses interessante Forum entdeckt, mich registriert und hoffe nun auf Hilfe:
In einer Datenbankabfrage möchte ich die Feldnamen vorformatieren.
Auszug:
SELECT [FIRMA] =
CASE
WHEN tbl1.FELD1 = 'Firma' THEN tbl2.NAME1
ELSE ''
END
,[ANR1] =
CASE
WHEN LEN( tbl2.NAME3 ) > 0 THEN tbl2.ANREDE + ' ' + tbl2.NAME3
ELSE tbl2.ANREDE+' ' +tbl2.VORNAME+' '+tbl2.NAME
END
... und so weiter
Das klappt auch alles ganz gut ... ABER nun meine Frage:
Kann man die CASE...ELSE...END Konstrukte auch weiter verschachteln?
Meine Versuche diesbezüglich waren leider erfolglos!
Beispiel:
um für das Anschriftenfeld einen eventuell vorhandenen akademischen Titel mit auszugegeben aber keine Leertaste zu erhalten, wenn keiner vorhanden ist habe ich folgendes versucht:
(Auszug)
,[ANR1] =
CASE
WHEN (LEN( tbl2.NAME3 ) > 0 AND LEN(tbl2.TITEL) >0)
THEN tbl2.ANREDE + ' ' + tbl2.TITEL + ' ' + tbl2.NAME3
ELSE
WHEN LEN(tbl2.NAME3) > 0
THEN tbl2.ANREDE + ' ' + tbl2.NAME3
ELSE
tbl2.ANREDE+' ' +tbl2.VORNAME+' '+tbl2.NAME
END
wie gesagt: leider ohne Erfolg, soll heissen, ich erhalte eine SQL-Fehlermeldung ("... an error near...")
Viele Grüße und schon mal DANKE für Hilfe
Gerade habe ich dieses interessante Forum entdeckt, mich registriert und hoffe nun auf Hilfe:
In einer Datenbankabfrage möchte ich die Feldnamen vorformatieren.
Auszug:
SELECT [FIRMA] =
CASE
WHEN tbl1.FELD1 = 'Firma' THEN tbl2.NAME1
ELSE ''
END
,[ANR1] =
CASE
WHEN LEN( tbl2.NAME3 ) > 0 THEN tbl2.ANREDE + ' ' + tbl2.NAME3
ELSE tbl2.ANREDE+' ' +tbl2.VORNAME+' '+tbl2.NAME
END
... und so weiter
Das klappt auch alles ganz gut ... ABER nun meine Frage:
Kann man die CASE...ELSE...END Konstrukte auch weiter verschachteln?
Meine Versuche diesbezüglich waren leider erfolglos!

Beispiel:
um für das Anschriftenfeld einen eventuell vorhandenen akademischen Titel mit auszugegeben aber keine Leertaste zu erhalten, wenn keiner vorhanden ist habe ich folgendes versucht:
(Auszug)
,[ANR1] =
CASE
WHEN (LEN( tbl2.NAME3 ) > 0 AND LEN(tbl2.TITEL) >0)
THEN tbl2.ANREDE + ' ' + tbl2.TITEL + ' ' + tbl2.NAME3
ELSE
WHEN LEN(tbl2.NAME3) > 0
THEN tbl2.ANREDE + ' ' + tbl2.NAME3
ELSE
tbl2.ANREDE+' ' +tbl2.VORNAME+' '+tbl2.NAME
END
wie gesagt: leider ohne Erfolg, soll heissen, ich erhalte eine SQL-Fehlermeldung ("... an error near...")
Viele Grüße und schon mal DANKE für Hilfe