none
In meinder Abfrage eine Standardwert festlegen? RRS feed

  • Frage

  • Hallo,

    ich habe folgende Select-Abfrage:

    SELECT D.stundenzahl, D.id, D.dienstart, B.id, B.urlaubID, 
    T.urlaubsanspruch FROM dbo.dienstart AS D, dbo.benutzer AS B  
    LEFT OUTER JOIN dbo.benutzerTarif AS T ON ((B.id = T.zugeteiltAn) 
    AND (T.tarifBeginn <= CONVERT(DATETIME,'" + akDatum + "', 104)) AND
    CONVERT( DATETIME, '" + akDatum + "', 104 ) < (
    CASE
    WHEN T.tarifEnde IS NULL THEN '21991231' 
    WHEN T.tarifEnde = '' THEN '21991231' 
    ELSE T.tarifEnde 
    END))
    WHERE (((D.gesamtuebersicht = 'True') AND (D.id = " + StatischeFelder.Urlaub + "))
    OR ((D.id = B.urlaubID) AND (D.gesamtuebersicht = 'True')))
    

    Wie kann in der Abfrage festlegen, dass wenn T.urlaubsanspruch = '' ist, dann eine 1 als Ergebnis für T.urlaubsanspruch festgelegt werden soll?


    Gruesse, NUNUI

    Donnerstag, 2. Februar 2017 16:42

Antworten

  • Hallo,

    Du hast doch schon in der Abfrage ein CASE WHEN Statement verwendet, das kannst Du auch für die Anforderung verwenden

    SELECT D.stundenzahl, D.id, D.dienstart, B.id, B.urlaubID, 
           CASE WHEN T.urlaubsanspruch = '' THEN '1' ELSE T.urlaubsanspruch END AS urlaubsanspruch
    FROM ...


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert Nunui Donnerstag, 2. Februar 2017 17:20
    Donnerstag, 2. Februar 2017 16:47

Alle Antworten

  • Hallo,

    Du hast doch schon in der Abfrage ein CASE WHEN Statement verwendet, das kannst Du auch für die Anforderung verwenden

    SELECT D.stundenzahl, D.id, D.dienstart, B.id, B.urlaubID, 
           CASE WHEN T.urlaubsanspruch = '' THEN '1' ELSE T.urlaubsanspruch END AS urlaubsanspruch
    FROM ...


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert Nunui Donnerstag, 2. Februar 2017 17:20
    Donnerstag, 2. Februar 2017 16:47
  • DANKE!!!

    Gruesse, NUNUI

    Donnerstag, 2. Februar 2017 17:20