Thread: If statements on select

If statements on select

From
"Alejandro D. Burne"
Date:
Hi, I'm translating an app made with visual foxpro and mysql as rdbms
to postgres.
I've got many querys with this sintax:

select code1, sum(if(cond1, price,0)), sum(if(cond2,price,0)) from ...

may be it's not sql compliant but very usefull
there is a way to do this work on postgres? I can't find any on docs.

Thnx, Alejandro

Re: If statements on select

From
Alvaro Herrera
Date:
On Fri, Apr 15, 2005 at 09:13:40AM -0300, Alejandro D. Burne wrote:
> Hi, I'm translating an app made with visual foxpro and mysql as rdbms
> to postgres.
> I've got many querys with this sintax:
>
> select code1, sum(if(cond1, price,0)), sum(if(cond2,price,0)) from ...

Use CASE WHEN cond1 THEN price ELSE 0 END.

But note that if your condition is to test price for NULL, it's easier to do

COALESCE(price, 0)

--
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"El día que dejes de cambiar dejarás de vivir"