Re: Select mit IF

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


Date: 8 Nov 2004 04:54:23 -0800

Hi Jürgen;

ich möchte das der Parameter nur zur Ausgabe auf Erledigt gesetzt wird
wenn er NULL ist ansonsten soll er den Wert ausgeben den er gerade
hat.
So das habe ich auch soweit getan mit folgendem select(im letzten
select ist die case Anweisung):
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
isnull(TKDAUF.STATUSTEXT,'') = ''
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

So aber nun bekomme ich keinen Wert zurück, sondern nur wenn alle
Daten durch sind bekomme ich einmal alle Werte der Spalte RSTATUS
zurück. Das sieht wie folgt aus:
Wegener Datentechnik GmbH Erledigt Gerald Freitag
Wegener Datentechnik GmbH Erledigt Dennis Schülke
Wegener Datentechnik GmbH Erledigt Dennis Schülke
Wegener Datentechnik GmbH Erledigt Gerald Freitag
Lühmann GmbH Erledigt Timm Riemer
Wegener Datentechnik GmbH Erledigt Christine Nitzpon
Wegener Datentechnik GmbH Erledigt Christine Nitzpon
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt
                Vorgemerkt

Aber ich möchte das die Spalte Status und die Spalte RSTATUS beide
gefüllt sind.
Wie bekomm eich das hin??

"Frank Kalis" <nospam@insidesql.de> wrote in message news:<4D5DECC2-D75B-4BDC-BC0F-65AE7B959702@microsoft.com>...
> "TR" wrote:
>
> > Ich hoffe mir kann einer helfen.
> > So ich habe einen Select erstellt der in der Where Klausel eine IF
> > Bedingung enthält bzw. in der folgendes passieren soll. Ist der
> > Statustext leer dann soll er auf Erledigt gesetzt werden.
> >
>
> Soll der permanent auf 'Erledigt' gesetzt werde, oder nur zur Anzeige?
>
> Bei permanent hat Jürgen ja schon UPDATE erwähnt. Wenn's nur zum Zwecke der
> Anzeige sein soll, schau Dir mal CASE in der Onlinehilfe an.
> -----------------------
> --Frank
> http://www.insidesql.de
> -----------------------



Relevant Pages