On Sat, Feb 19, 2005 at 15:59:52 -0200,
  Jon Lapham <[EMAIL PROTECTED]> 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
;

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to