From: | David Raznick <david(dot)raznick(at)okfn(dot)org> |
---|---|
To: | Chris Campbell <ccampbell(at)cascadeds(dot)com> |
Cc: | "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org> |
Subject: | Re: SQL Assistance |
Date: | 2013-05-09 02:34:51 |
Message-ID: | CAN4mCtmXDtNHcijoa6UtNuCCvSes+6fRfcNHu9OThOq0gXHOLQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Hello
I may have misunderstood the intent of your query but I think the following
is equivalent. If you put the sum on the outside you do not have to group
by fk_giftype.
Select ta.accountname, ta.appealname,
sum(CASE WHEN ta.fk_gifttype=1 THEN ta.appealgiftamount ELSE 0::decimal
END) as pledgetotal,
sum(CASE WHEN ta.fk_gifttype=3 THEN ta.appealgiftamount ELSE 0::decimal
END) as paymenttotal
FROM ds1.tranappeal ta
GROUP BY ta.accountname, ta.appealname
ORDER BY accountname
Thanks
David
On Wed, May 8, 2013 at 7:45 PM, Chris Campbell <ccampbell(at)cascadeds(dot)com>wrote:
> Greetings,****
>
> ** **
>
> I’m struggling with a bit of SQL here and am looking for ideas on how to
> resolve it. ****
>
> ** **
>
> Given the following query:****
>
> ** **
>
> Select ta.accountname, ta.appealname,****
>
> coalesce(CASE WHEN ta.fk_gifttype=1 THEN Sum(ta.appealgiftamount) ELSE
> 0::decimal END,0) as pledgetotal,****
>
> coalesce(CASE WHEN ta.fk_gifttype=3 THEN Sum(ta.appealgiftamount) ELSE
> 0::decimal END,0) as paymenttotal****
>
> FROM ds1.tranappeal ta****
>
> GROUP BY ta.accountname, ta.appealname, ta.fk_gifttype****
>
> ORDER BY accountname****
>
> ** **
>
> What I want to end up with is one row per account name with the correct
> pledge and payment total. ****
>
> ** **
>
> What I’m receiving in most cases is multiple lines per account name. The
> reason is because I’m being forced to include the fk_gifttype field in the
> Group By. Because there are other gifttype codes, those rows are being
> included with zero amounts. ****
>
> ** **
>
> I also tried using a sub select but that didn’t work because “appealname”
> isn’t part of a scope. As a result, I received the “total” pledge and
> payment regardless of appealname.****
>
> ** **
>
> I’m wonder what other options I might have to get the desired results. **
> **
>
> ** **
>
> Thank you,****
>
> ** **
>
> Chris Campbell****
>
> Cascasde Data Solutions Inc.****
>
> ccampbell(at)cascadeds(dot)com****
>
> ** **
>
From | Date | Subject | |
---|---|---|---|
Next Message | Chris Campbell | 2013-05-09 13:32:04 | Re: SQL Assistance |
Previous Message | Michael Swierczek | 2013-05-08 19:12:37 | Re: SQL Assistance |