none
Case When in der WHERE-Klausel RRS feed

  • Frage

  • Guten Tag

    Besteht die Möglichkeit, dass in der WHERE-KLausel eine Case When eingebaut werden kann?

    Ich möchte erreichen, dass je nachdem die WHERE-Klausel eine andere Verknüpfung bekommt.

    SELECT DISTINCTS.IDData
    , S.SitzungsDatum
    , S.SitzungsTitel
    FROM Appl_Anae_Inhalt I RIGHT OUTER JOIN Appl_Anae_Sitzung S ON I.SitzungID = S.IDData
    WHERE S.SitzungsDatum BETWEEN '{frmDataFrom}' and '{frmDataTo}'
    AND S.IDData in (select iddata from sys_recht_daten
     where BOO_Browse = -1 and idSys_Form = 22726 and idgruppe in (select IDGruppe from gruppe where Bezeichnung like 'Anae OA Protokoll Eingabe'))

    --if '{Inhalt}' <> "" then

    --   if Session("User_WEBBUILDER")= "AnaeTeil" or Session("Gruppe_WEBBUILDER")= "20149" then

    --AND I.Teilnehmer = 'JA'

    --AND I.AbsatzInhalt LIKE '%{Inhalt}%'

    -- elseif Session("User_WEBBUILDER")= "AnaeAD" then

    --AND I.AD = 'JA'

    --AND I.AbsatzInhalt LIKE '%{Inhalt}%'

    -- elseif Session("User_WEBBUILDER")= "AnaePD" then

    --AND I.PD = 'JA'

    --AND I.AbsatzInhalt LIKE '%{Inhalt}%'

    -- else

    -- end if

    --end if

    Der obere Teil funktioniert korrekt. Ich möchte erreichen, dass wenn der 'user_WEBBUILDER = 'AnaeTeil' ist, dann soll die WHERE Klausel mit

    AND I.Teilnehmer = 'JA' AND I.AbsatzInhalt LIKE '%{Inhalt}%'

    erweitert werden, ist der 'user_WEBBUILDER = 'AnaeAD' dann soll die WHERE-Klausel mit

    AND I.AD = 'JA' AND I.AbsatzInhalt LIKE '%{Inhalt}%'

    erweitert werden

    Da ich nicht weiss wie, habe ich es als VBA formuliert und hoffe ihr versteht mich.

    Herzlichen Dank für die Hilfe

    Walo Beck



    • Bearbeitet W_Beck Donnerstag, 6. März 2014 12:30 Unklar beschrieben
    Donnerstag, 6. März 2014 12:14

Antworten

  • Verwende 3 Abfragen und verknüpfe diese mit UNION:

    select FELDER from TABELLEN where user_Webbuilder not in ('AnaeTeil', 'AnaeAD') and WHERE_ALLGEMEIN

    union

    select FELDER from TABELLEN where user_Webbuilder = 'AnaeTeil' and WHERE_ALLGEMEIN and WHERE_TEIL

    union

    select FELDER from TABELLEN where user_Webbuilder = 'AnaeAD' and WHERE_ALLGEMEIN and WHERE_AD

    • Als Antwort markiert W_Beck Montag, 10. März 2014 06:36
    Freitag, 7. März 2014 07:33

Alle Antworten

  • Verwende 3 Abfragen und verknüpfe diese mit UNION:

    select FELDER from TABELLEN where user_Webbuilder not in ('AnaeTeil', 'AnaeAD') and WHERE_ALLGEMEIN

    union

    select FELDER from TABELLEN where user_Webbuilder = 'AnaeTeil' and WHERE_ALLGEMEIN and WHERE_TEIL

    union

    select FELDER from TABELLEN where user_Webbuilder = 'AnaeAD' and WHERE_ALLGEMEIN and WHERE_AD

    • Als Antwort markiert W_Beck Montag, 10. März 2014 06:36
    Freitag, 7. März 2014 07:33
  • Herzlichen Dank

    Walo Beck

    Montag, 10. März 2014 06:36