Kyle <kyle@actarg.com> writes:
> The SQL is a little strange because the subquery tries to reference
> individual records from the outer query and then sum them.
> The more I look at it, I wonder if it is not just bad SQL.
It is bad SQL, but pre-7.1 Postgres failed to catch it. Here's the
CVS log entry:
2000-09-25 14:09 tgl
* src/backend/optimizer/plan/planner.c: System neglected tocomplain about ungrouped variables passed to sublinks when
outerquerycontained aggregates but no GROUP clause.
Since you have a SUM(), the outer query is a grouped query, and so
references to the ungrouped h.* columns in the SELECT targetlist are
not well defined. Lord knows what result you were getting from 7.0 ...
regards, tom lane