Domanda

So I have a scenario.

Must have these 4 application fees set up with no end date or end date in future.

(FeeTypeID = 16 AND FeeRequirementTypeID = 18)
(FeeTypeID = 17 AND FeeRequirementTypeID = 18)
(FeeTypeID = 18 AND FeeRequirementTypeID = 18)
(FeeTypeID = 19 AND FeeRequirementTypeID = 18)

Now how would I put this into a if statement?

È stato utile?

Soluzione

Use AND and OR:

select ...
from ...
where  
(
  (FeeTypeID = 16 AND FeeRequirementTypeID = 18) or
  (FeeTypeID = 17 AND FeeRequirementTypeID = 18) or
  (FeeTypeID = 18 AND FeeRequirementTypeID = 18) or
  (FeeTypeID = 19 AND FeeRequirementTypeID = 18) or
)
and
(
  end_date is null or
  end_date > now() -- or whatever expression your dbms uses for today
);

EDIT: I just notice that ist always FeeRequirementTypeID = 18. So simply:

select ...
from ...
where FeeRequirementTypeID = 18 
and FeeTypeID in (16,17,18,19)
and ( end_date is null or end_date > now() );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top