JOJO
JOJO

Reputation: 316

Select Query in if else in Postgres Sql

something like ths

if(1=1)
select * from Table_a
else
slect * from Table_b

without using functions

I am trying something like this

DO $$ 
DECLARE   
  a integer := 10;   
  b integer := 20;  
BEGIN    
  IF a >b THEN     
    select  * from online.fandi_workflow_options ;   
  else 
    select  * from online.credit_workflow_options ;   
 END IF;
END
$$;

Can anyone help me here

Upvotes: 0

Views: 135

Answers (1)

Neville Kuyt
Neville Kuyt

Reputation: 29619

select  * from online.fandi_workflow_options 
where a > b 
union
select  * from online.credit_workflow_options
where a <= b 

You can usually replace a logical "if" with a "where" clause; in your case, you're selecting from two different tables, so you have to use a union. This query only works if both tables have the same columns - if not, you can select explicit column names, and add "bogus" columns to each select statement to make them identical.

Upvotes: 2

Related Questions