Access-o-Mania

Datenbanken (Deutsch/German) => MS SQL-Server => Thema gestartet von: henfoni am Juli 12, 2011, 11:54:18

Titel: CASE NOT NULL in SELECT-Anweisung
Beitrag von: henfoni am Juli 12, 2011, 11:54:18
Moin,

habe folgendes Problem, wo ich einfach keine Lösung finde.
Ich habe 2 Spalten "Seite" und "Absatz". Absatz kann NULLer Einträge enthalten.
Nun möchte ich Datensätze abfragen, die Seite und Absatz enthalten. Ist Absatz Null, dann soll einfach "S.13" ausgegeben werden. Ist Absatz nicht NULL, soll "S.13 Abs.2" ausgegeben werden.
Ich weiß nicht, wie ich der CASE-Anweisung NOT NULL mitteilen soll..
So klappt es nicht:
seite + 
CASE  absatz
WHEN NOT NULL
THEN 'Abs' + absatz
ELSE ''
END
AS [Seite mit Absatz]
Titel: Re: CASE NOT NULL in SELECT-Anweisung
Beitrag von: database am Juli 12, 2011, 13:20:37
Hallo,

na dann ...


select seite + 
CASE   
WHEN  absatz IS NULL
THEN  ''
ELSE ' Abs. '+ absatz
END
AS [Seite mit Absatz]
FROM DeineTabelle


liefert z.B. folgendes Ergebnis:

Seite mit Absatz
--------------------
S.13 Abs.2
S.13
S.12 Abs.1
S.15 Abs.4

HTH
Titel: Re: CASE NOT NULL in SELECT-Anweisung
Beitrag von: henfoni am Juli 12, 2011, 13:45:26
ja war doch leichter als ich dachte :)
habs mittlerweile selbst über den etwas umständlicheren Weg:
..CASE ISNULL(  absatz , 1 )
WHEN 1
THEN ''
ELSE ' Abs.' + absatz
END AS ...
gelöst. Aber ich werd dann mal deine elegantere Lösungen nehmen, hehe
Danke für deine Hilfe!
Titel: Re: CASE NOT NULL in SELECT-Anweisung
Beitrag von: database am Juli 12, 2011, 13:46:43
Hallo,

schön dass ich helfen konnte  ;) ;D

bitte dann aber auch den Thread in DEINEM ersten Beitrag auf 'gelöst' setzen - DANKE!