Search code examples
sqldata-warehouse

Conditional Where Statement


I am trying to setup a conditional statement that will determine which WHERE clause to use.

I need to check 2 separate conditions, one on each side of the AND and if results are greater than 1 then use a particular statement if not then use nothing

Like this logic but in pdw sql

WHERE 
if cte1.counte > 1 then 'cte1.built is not null' else '' 
AND 
if cte2.countd > 1 then 'cte2.demo is not null' else ''

possible combinations:

WHERE CTE1.BUILD IS NOT NULL
WHERE CTE1.BUILD IS NOT NULL AND CTE2.DEMO IS NOT NULL
WHERE CTE2.DEMO IS NOT NULL
BLANK

Is this possible to do?

Thanks in advance


Solution

  • Something like this:

    WHERE (cte1.counte > 1 and cte1.built is not null or cte1.counte <= 1) and
          (cte2.countd > 1 and cte2.demo is not null or cte2.countd <= 1)