Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

CASE NOT NULL in SELECT-Anweisung

Begonnen von henfoni, Juli 12, 2011, 11:54:18

⏪ vorheriges - nächstes ⏩

henfoni

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]
Wer nicht fragt, bleibt dumm.

database

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

henfoni

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!
Wer nicht fragt, bleibt dumm.

database

Hallo,

schön dass ich helfen konnte  ;) ;D

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