Группировать «похожие» строки в SQL и суммировать? - PullRequest
0 голосов
/ 02 марта 2012

У меня есть отчет, который выглядит так:

Report

Обратите внимание на строки, которые я обвел (строки 2 и 3 в группе 1109). Эти строки имеют одинаковый текст MemberSep, Location и Consumer. Разница лишь в том, что у каждого из них разные значения для полей TODKWH001 и TODKWH002.

Что я хотел бы сделать, так это сгруппировать строки и суммировать поля TODKWH001 и TODKWH002 вместе.

Итак, вместо этих двух строк:

00002574027 00000003105401 YEAGER FMS PMP 50 13 00    0      1
00002574027 00000003105401 YEAGER FMS PMP 50 13 00 4998     81

У меня был бы только один ряд:

00002574027 00000003105401 YEAGER FMS PMP 50 13 00 4998     82

Могу ли я сделать это в SQL? Или я должен попытаться сделать группировку в моем отчете?

Кроме того, вот мой SQL, который я сейчас использую для заполнения отчета:

SELECT CAR1.CAV_MBRHISTDETL.MBRSEP, 
       CAR1.CAV_MBRHISTDETL.LOCATION, 
       CAR1.CAV_MBRHISTDETL.BILLTYPE, 
       CAR1.CAV_MBRHISTDETL.BILLMOYR, 
       CAR1.CAV_MBRHISTDETL.RATE, 
       CAR1.CAV_LOCINFODETL.DIST, 
       CAR1.CAV_DEMANDHISTDETL.TODKWH_001, 
       CAR1.CAV_DEMANDHISTDETL.TODKWH_002, 
       CAR1.CAV_LOCINFODETL.ADDR1, CAR1.CAV_DEMANDHISTDETL.READTYPE
FROM CAR1.CAV_LOCINFODETL, { oj CAR1.CAV_MBRHISTDETL LEFT OUTER JOIN
     CAR1.CAV_DEMANDHISTDETL ON CAR1.CAV_MBRHISTDETL.MBRSEP = 
     CAR1.CAV_DEMANDHISTDETL.MBRSEP AND 
     CAR1.CAV_MBRHISTDETL.BILLMOYR = CAR1.CAV_DEMANDHISTDETL.BILLMOYR }
WHERE CAR1.CAV_MBRHISTDETL.LOCATION = CAR1.CAV_LOCINFODETL.LOCATION AND
    (CAR1.CAV_MBRHISTDETL.BILLMOYR IN ('1104', '1105', '1106', '1107', '1108','1109')) AND
    (CAR1.CAV_MBRHISTDETL.RATE = '0096') AND (CAR1.CAV_MBRHISTDETL.BILLTYPE IN ('00', '01'))
ORDER BY CAR1.CAV_LOCINFODETL.DIST, 
         CAR1.CAV_MBRHISTDETL.BILLMOYR, 
         CAR1.CAV_MBRHISTDETL.MBRSEP

1 Ответ

2 голосов
/ 02 марта 2012

Включите это в ваш текущий запрос:

SELECT MemberSep, Location, Consumer, SUM(TODKWH001), SUM(TODKWH002)
FROM yourtable
GROUP BY MemberSep, Location, Consumer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...