Re: Select mit IF
From: Christa Kurschat (christa_kurschat_nospam_at_web.de)
Date: 11/08/04
- Next message: Slvia Eiffel: "Rueckgabewert bei gespeicherten Prozeduren"
- Previous message: Frank Kalis: "RE: Zweites Transaktionslog löschen"
- In reply to: TR: "Re: Select mit IF"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 8 Nov 2004 14:33:43 +0100
Hallo Timm,
TR <timm.riemer@wegener-datentechnik.de> schrieb:
> 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:
[...]
genau das sagst Du ihm doch auch ;-)
Du mußt das Case-Konstrukt in Deine 1. Abfrage einbauen:
tkdauf.name1, tkdauf.Statustext AS Status ,
case when
isnull(TKDAUF.STATUSTEXT,'') = ''
then 'erledigt'else TKDAUF.STATUSTEXT end 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
Jetzt sollte der Text genau zum DS angezeigt werden.
Gruß
Christa
-- Access-FAQ: http://www.donkarl.com SQL-Server-FAQ: http://www.berndjungbluth.de/sqlfaq/sqlfaq.htm auch interessant: http://www.insidesql.de Suchen in den Newsgroups: http://groups.google.de/advanced_group_search?hl=de&lr=&ie=UTF-8
- Next message: Slvia Eiffel: "Rueckgabewert bei gespeicherten Prozeduren"
- Previous message: Frank Kalis: "RE: Zweites Transaktionslog löschen"
- In reply to: TR: "Re: Select mit IF"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|