El Wed, 11 Jan 2017 08:55:18 -0700
Charles Wilt <charles.wilt@xxxxxxxxx> escribió:
SUM(CASE WHEN flag THEN col1 ELSE 0 end) AS bucket1
, SUM(CASE WHEN NOT flag THEN col1 ELSE 0 end) AS bucket2

Charles

On Wed, Jan 11, 2017 at 8:26 AM, <dlclark-hrkKUNNHk/rME/82e/C8hg@xxxxxxxxxxxxxxxx> wrote:

I need to SUM() a column into two different result buckets
depending on a flag in another file. I know how to GROUP, SUM, and JOIN
what I need but I'm not sure about getting a single input column to sum
into two different output columns. Can anybody give me a hint, please?
Thanks.

Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331



************************************************************
*********************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or privilege
is waived or lost by any error in transmission.
************************************************************
*********************************
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L-Zwy7GipZuJhWk0Htik3J/w@xxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


0) Prepared the table and fed the data:

declare global temporary table Q (
QUA integer,
AMT decimal(9,2)
)
Table Q created in QTEMP.

insert into Q values
(1 , 25.00),
(1 , 75.00),
(1 , 2.98),
(2 , 4.32),
(2 , 7.00)
5 rows inserted in Q in QTEMP.

1) First try:

select
case when QUA=1 then sum(AMT) else 0 end A1,
case when QUA=2 then sum(AMT) else 0 end A2
from Q
group by QUA

3....+....4....+....5....+....6....+....7....+....8....+.
A1 A2
102.98 .00
.00 11.32
******** End of data ********

You get two rows. Not so good.

2) Second try (single row):

with Q1 as (
select
case when QUA=1 then AMT else 0 end A1,
case when QUA=2 then AMT else 0 end A2
from Q
)
select sum(A1),sum(A2) from Q1

+....3....+....4....+....5....+....6....+....7....+....8....+.
SUM ( A1 ) SUM ( A2 )
102.98 11.32
******** End of data ********


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.