returning count(*) when it is > 1, else -1 - Mailing list pgsql-sql

From Gerardo Herzig
Subject returning count(*) when it is > 1, else -1
Date
Msg-id 48F87AD3.6000206@fmed.uba.ar
Whole thread Raw
Responses Re: returning count(*) when it is > 1, else -1  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Re: returning count(*) when it is > 1, else -1  (Richard Huxton <dev@archonet.com>)
List pgsql-sql
Hi all. Im triyng to implement this in plain sql.
The only thing i have working is

select case when (select count(*) from test where id=$1 )   > 0 then (select count(*) from test where id=$1)   else -1
end;
 

But it does a doble count(*) that i must avoid.
I cant refer to the 'first' count like
select case when (select count(*) from test where id=$1 ) AS total   > 0 then total   else -1   end;

Because i have "Syntax error near AS"

I have a plpgsql version of this, but i swear to my boss that it can be
done is plain sql. Please tell me that im right :)

Thanks!
Gerardo


pgsql-sql by date:

Previous
From: "Oliveiros Cristina"
Date:
Subject: Re: Search fields in multiple tables
Next
From: "Pavel Stehule"
Date:
Subject: Re: returning count(*) when it is > 1, else -1