Thread: Aggregate versus lineitem report

Aggregate versus lineitem report

From
Jerry Blumenthal
Date:
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")

TIA
Jerry


Re: Aggregate versus lineitem report

From
Bruno Wolff III
Date:
On Fri, Oct 21, 2005 at 11:32:13 -0400, Jerry Blumenthal <jerblum4@comcast.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.