Re: IF Klausel

From: TR (timm.riemer_at_wegener-datentechnik.de)
Date: 11/08/04


Date: 8 Nov 2004 04:25:26 -0800

So habe folgenden Select erstellt:
select
tkdauf.name1, tkdauf.Statustext AS Status , '' AS RStatus,
EINSATZ.Techniker, TKDAUF.BEMERKUNG,
DATEPART(hour, (einsatz.ende - einsatz.beginn)) AS Stunden,
DATEPART(minute, (einsatz.ende - einsatz.beginn)) as Minuten,
Cast ((einsatz.einsatzdatum) as Datetime) as Einsatzdatum,
einsatz.ende, einsatz.beginn, einsatz.memo, convert
(char(10),einsatz.einsatzdatum,104) as datum,
DATEPART(hour, einsatz.pause) AS PauStunden, DATEPART(minute,
einsatz.pause) as PauMinuten, Cast ((tkdauf.aufannahme1)as Datetime)
as aufannahme1,
EINSATZ.BKNZARBZEIT as BerechKZ
from
tkdauf, einsatz
where
tkdauf.lfdnr *= einsatz.auflfdnr

union all

select
archiv.name1, 'Erledigt' AS Status, '' AS RStatus, AEINSATZ.Techniker,
ARCHIV.BEMERKUNG,
DATEPART(hour, (aeinsatz.ende - aeinsatz.beginn)) AS Stunden,
DATEPART(minute, (aeinsatz.ende - aeinsatz.beginn)) as Minuten,
Cast ((aeinsatz.einsatzdatum)as DATETIME) as Einsatzdatum,
aeinsatz.ende, aeinsatz.beginn, aeinsatz.memo, convert
(char(10),aeinsatz.einsatzdatum,104) as datum,
DATEPART(hour, aeinsatz.pause) AS PauStunden, DATEPART(minute,
aeinsatz.pause) as PauMinuten, Cast ((archiv.aufannahme1)as Datetime)
as aufannahme1,
AEINSATZ.BKNZARBZEIT as BerechKZ
from
archiv, aeinsatz
where
archiv.lfdnr = aeinsatz.auflfdnr

union all

select '' AS name1, '' AS Status, CASE WHEN TKDAUF.STATUSTEXT is NULL
THEN 'Erledigt' ELSE TKDAUF.STATUSTEXT END AS RStatus, '' AS
Techniker, '' AS Bemerkung, '' AS Stunden, '' AS Minuten,
'' AS Einsatzdatum, '' AS ende, '' AS beginn, '' AS memo, '' AS datum,
'' AS PauStunden, '' AS PauMinuten, '' AS aufannahme1,
'' AS BerechKZ
from
tkdauf, einsatz
where
tkdauf.lfdnr *= einsatz.auflfdnr;

bei der Ausgabe bekomme ich aber in der Spalte RSTATUS keiner Wert
zurück und das sollte ja gerade nicht sein. Laut der CASE Anweisung.

Hast du evtl. ne Idee woran das leigen kann????

mfg

Timm Riemer
Juergen Frieling <juergen@beer.com> wrote in message news:<cm5go4$sop$1@online.de>...
> Moin,
>
> Am 1 Nov 2004 06:07:42 -0800, schrieb TR:
>
> > Ich arbeite in Visual Studio .Net und arbeite mit den Reporting
> > Services (erstelle im VB.Net also Berichte). Nun möchte ich in der
>
> Dann würde ich in den entsprechenden Gruppen fragen...
>
> > Layout ansicht in einem Fedl eine IF Bedingugn einbauen die wie folgt
> > lauten soll: Wenn RSTATUS gleich (leer) dann gebe Erledigt aus sonst
> > gebe den Inhalt von RSTATUS aus.
>
> Du kannst das direkt in der Abfrage machen
>
> SELECT x,y, CASE
> WHEN RSTATUS IS NULL THEN 'Erledigt'
> ELSE RSTATUS
> END AS Status
> FROM Tabelle
>
> Gruss,
> Juergen