From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
---|---|
To: | jerry(at)blumenthalsoftware(dot)com |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Aggregate versus lineitem report |
Date: | 2005-10-29 17:20:36 |
Message-ID: | 20051029172036.GB30316@wolff.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Fri, Oct 21, 2005 at 11:32:13 -0400,
Jerry Blumenthal <jerblum4(at)comcast(dot)net> wrote:
> How do you get a report that lists items and then produces a sum at the
> end. Like this:
>
> name date amount1 amount2
> name date amount1 amount2
> name date amount1 amount2
>
> totals sum(amount1) sum(amount2)
>
> The sql command I am using now is
>
> SELECT SUM(Tcode.T_amount) Fees,
> SUM(Tcharges.T_discount) Discount,
> Tcode.T_prov Provider
> FROM "C:\zz\Tcode.DAT" Tcode
> INNER JOIN "C:\zz\Tcharges.DAT" Tcharges
> ON Tcode.T_acctnum = Tcharges.T_acctnum
> AND Tcode.T_link = Tcharges.T_link
> WHERE (((Tcode.T_posted BETWEEN "01/01/2004" AND "01/31/2004")
> AND (Tcode.T_tcode < 30000)))
> GROUP BY Provider
>
> And that shows a list of amounts, for each provider, but I want to be
> able to show all the line items that added up to those totals. (I didnt
> include the group by provider issue in my question because that is nice
> but not necessary- I can always just do one provider at a time with a
> clause like "WHERE provider = 1")
Normally you would use two separate queries to do this. If you really need to
combine them for some reason you can use UNION ALL and some contortions to
make sure the two subselects have the same number of columns and that the
rows appear in the correct order.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-10-29 17:46:06 | Re: Two tables or three? |
Previous Message | James Cloos | 2005-10-29 13:38:08 | Two tables or three? |