From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | Josh Berkus <josh(at)agliodbs(dot)com> |
Cc: | Dan Langille <dan(at)langille(dot)org>, Chad Thompson <chad(at)weblinkservices(dot)com>, <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: 7.3 "group by" issue |
Date: | 2003-02-23 02:24:13 |
Message-ID: | Pine.LNX.4.44.0302230245070.2308-100000@peter.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Josh Berkus writes:
> SELECT a.c1, count(a.c2)
> FROM a JOIN b
> WHERE b.c5 = x
> GROUP BY c1
>
> In a case like this, a.c1 == c1 without possibility of ambiguity.
Consider JOIN to be a black-box function, then you'd be writing something
like
SELECT a.c1, count(a.c2)
FROM func(a, b) AS r (c1, c2, c3, c4, c5)
WHERE b.c5 = x
GROUP BY c1; -- <== refers to r.c1
Clearly in this case you cannot claim that in general a.c1 == r.c1.
If the func() is an inner join, then the claim is true, but if it's an
outer join it's not. The scoping rules for inner and outer joins are the
same, and that might be considered a good thing.
--
Peter Eisentraut peter_e(at)gmx(dot)net
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2003-02-23 02:24:30 | Re: sql question after upgrade |
Previous Message | Neil Conway | 2003-02-23 01:42:04 | Re: sql question after upgrade |