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 josh@agliodbs.com
> 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 majordomo@postgresql.org