Re: Group By and wildcards...

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Jon Lapham <lapham(at)jandr(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: Group By and wildcards...
Date: 2005-02-19 18:36:54
Message-ID: 20050219183654.GA21872@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Feb 19, 2005 at 15:59:52 -0200,
Jon Lapham <lapham(at)jandr(dot)org> wrote:
>
> Since I do not want to have to re-write all my aggregate function
> containing queries upon modifications to the table definitions (and I do
> not want to write multi-thousand character long SELECT statements),
> maybe it is easier to use a temp table intermediary?
>
> SELECT a.id AS aid, SUM(d.blah) AS sum_blah
> INTO TEMPORARY TABLE foo
> FROM a, b, c, d
> WHERE <some join conditions linking a,b,c,d>
>
> followed by
>
> SELECT *
> FROM a, b, c, foo
> WHERE <some join conditions linking a,b,c>
> AND foo.aid=a.id
>
> Ugly... ugly... any other ideas on how to do this? My table definitions
> LITERALLY have hundreds of columns, and I need access to them all.

Well if you are thinking about the above than you might be interested in
seeing a more sketched out example of what I was suggesting in my
followup after Tom's correction.

SELECT a.*, b.*, c.*, e.d1
FROM a, b, c,
(SELECT a.id AS a1, b.id AS b1 , c.id AS c1, sum(d) AS d1
FROM a, b, c, d
WHERE <some join conditions linking a,b,c,d>
GROUP BY a1, b1, c1) AS e
WHERE
a.id = e.a1 AND
b.id = e.b1 AND
c.id = e.c1
;

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Oisin Glynn 2005-02-19 19:02:34 Re: Group By and wildcards...
Previous Message Russ Brown 2005-02-19 18:33:58 Re: Group By and wildcards...