Tai Lung
Tai Lung

Reputation: 89

Conditional Field in MS Access

I have the following SQL Query in MS Access

SELECT 
   Laufzettel.ANTRAGSNUMMER, 
   Laufzettel.Versicherungsnummer, 
   DP.DUNKEL,   
   Laufzettel.AEingangDatenstromZWorkflow,
   Laufzettel.BEingangesigniertDokumentZWorkflow,
   Laufzettel.CAusgangDatenstromZWorkflow,
   Laufzettel.DAnlageSchwebeVSL, 
   Laufzettel.EPolicierungVSL
FROM 
   DP, Laufzettel;

The DP.DUNKEL is just a single value 1. I want the DP.DUNKEL to be displayed only when Laufzettel.EPolicierungVSL is not NULL else display 0. How can I achieve this as I can't find IF ELSE condition in SQL?

Upvotes: 0

Views: 485

Answers (2)

Krish
Krish

Reputation: 5917

In MS Access you can use the inline IIF(condition,true,false)

in your case.

  SELECT 
        Laufzettel.ANTRAGSNUMMER,
       Laufzettel.Versicherungsnummer,
      IIF(ISNULL(Laufzettel.EPolicierungVSL),1,0) AS dunkel
      , Laufzettel.AEingangDatenstromZWorkflow
      , Laufzettel.BEingangesigniertDokumentZWorkflow
      , Laufzettel.CAusgangDatenstromZWorkflow
      , Laufzettel.DAnlageSchwebeVSL
      , Laufzettel.EPolicierungVSL
  FROM Laufzettel;

Note: since your dunkle column can be calculated, you don't need the DP table. (or at least I don't see any need for it in your SQL)

Upvotes: 1

ScaisEdge
ScaisEdge

Reputation: 133360

could be using swithc

  SELECT 
        Laufzettel.ANTRAGSNUMMER
      , Laufzettel.Versicherungsnummer
        Switch(
          Not IsNull (Laufzettel.EPolicierungVSL),  DP.DUNKEL
          IsNull (Laufzettel.EPolicierungVSL),  0 
          ) AS dunkel
      , Laufzettel.AEingangDatenstromZWorkflow
      , Laufzettel.BEingangesigniertDokumentZWorkflow
      , Laufzettel.CAusgangDatenstromZWorkflow
      , Laufzettel.DAnlageSchwebeVSL
      , Laufzettel.EPolicierungVSL
  FROM DP, Laufzettel;

Upvotes: 0

Related Questions