pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Christoph Haller <ch@rodos.fzk.de>
To: pgsql-sql@postgresql.org
Cc: mat@mat.cc
Subject: Re: problem with subselect
Date: Fri, 07 Mar 2003 15:51:15 +0100
Message-ID: <3E68B1E3.7DDEB3E4@rodos.fzk.de> (raw)

> |> SELECT   date_trunc('month', f.date_creation) as mois,
> |>          sum(f.montant_ttc / d.taux) as facture,
> |>          (SELECT  sum(f2.montant_ttc / d2.taux) as facture2
> |>           FROM facture AS f2 JOIN devise AS d2 USING (id_devise)
> |>           WHERE date_trunc('month', f2.date_creation)
> |>                 <=3D date_trunc('month', f.date_creation))
> |> FROM   facture AS f JOIN devise AS d USING (id_devise)
> |> GROUP BY   date_trunc('month', f.date_creation)
> |>=20
> |> which does not work... telling me that
> |>=20
> |> "Sub-SELECT uses un-GROUPed attribute f.date_creation from outer
> | query"
> |> Which is not really true, but some way is...
> |>=20
> |> What I want is to get the sum of the month, and the sum of the
month
> | and
> |> the previous.
> |>=20
> |> If someone has a clue, something, anything... :)
> |>=20
> | Try
> | ... GROUP BY  mois ;
>
> Already tried, not working either.
>
I should have had a closer look:
The WHERE clause is causing the error.
I can't see any quick solution, but what often helped me is
First try to word the query as a view and do the GROUPing then on the
view.

Regards, Christoph





view thread (6+ messages)  latest in thread

Message-ID: <3E68B1E3.7DDEB3E4@rodos.fzk.de>
Permalink:  ../3E68B1E3.7DDEB3E4@rodos.fzk.de/
Also on:    postgresql.org/message-id/3E68B1E3.7DDEB3E4@rodos.fzk.de

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: ch@rodos.fzk.de, mat@mat.cc
  Subject: Re: problem with subselect
  In-Reply-To: <3E68B1E3.7DDEB3E4@rodos.fzk.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox