Why not simply:

SELECT COALESCE( (SELECT true FROM ... WHERE boolcol LIMIT 1), FALSE);

JLL

Josh Berkus wrote:
> 
> Tom,
> 
> > Perhaps
> >       SELECT true = ANY (SELECT boolcol FROM ...);
> > or
> >       SELECT true IN (SELECT boolcol FROM ...);
> >
> > Which is not to say that MAX(bool) might not be a nicer solution;
> > but you can definitely do it with SQL-spec constructs.
> 
> Based on some rough testing,
> 
> SELECT true = ANY ( SELECT boolcol FROM complex query )
> 
> Is marginlly faster than
> 
> SELECT max(boolcol) FROM complex query
> 
> With a custom MAX(boolean) function.
> 
> So I'll stick to ANY().
> 
> -Josh
> 
> ______AGLIO DATABASE SOLUTIONS___________________________
>                                        Josh Berkus
>   Complete information technology      [EMAIL PROTECTED]
>    and data management solutions       (415) 565-7293
>   for law firms, small businesses        fax 621-2533
>     and non-profit organizations.      San Francisco
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to