Я пытаюсь выполнить запрос для отображения баланса клиентов вместе с суммой нескольких платежей, связанных с клиентом, поэтому я могу проверить, соответствует ли общий баланс объединенному балансу.Соберите сумму комбинированных значений
Я думаю, что мне нужно использовать GROUP BY в моем запросе, но пока это оказалось безуспешным. Моя попытка выглядит следующим образом:
select c.ID, m.Balance, SUM(chg.Balance) as CombinedBalance
from Customer c
INNER JOIN ChargeTemplate chg
on c.ID = chg.CustomerID
WHERE c.Balance <> (SELECT SUM(Balance) FROM ChargeTemplate WHERE chg.CustomerID= c.ID)
GROUP BY c.ID, c.Balance
order by c.ID ASC
Этого запрос выводит общий баланс и общий суммарный баланс, но он также отображает запись, где c.Balance
равно Комбинированный баланс.
Следующий запрос выполняет то же самое, что и указанный выше запрос, , хотя я удалил предложение WHERE.
select c.ID, c.Balance, SUM(chg.Balance) as CombinedBalance
from Customer c
INNER JOIN ChargeTemplate chg
on c.ID = chg.CustomerID
GROUP BY c.ID, c.Balance
order by c.ID ASC
Мой требуемый выход значение CUSTOMERTABLE.BALANCE
с соответствующим общей сложностью обвинения клиентов - таким образом, я могу сравнить фактический баланс соответствует суммарному количеству. Как я могу сделать это реальностью?
Примечание: chargetable имеет CustomerTable.CustomerID FK
Клиент 1:
CUSTOMERTABLE.TOTAL_BALANCE = 100.00
CHARGETABLE.CHARGE[1].BALANCE = 20.00
CHARGETABLE.CHARGE[2].BALANCE = 30.00
CHARGETABLE.CHARGE[3].BALANCE = 50.00
Клиент 2:
CHARGETABLE.CHARGE[1].BALANCE = 10.00
CHARGETABLE.CHARGE[2].BALANCE = 20.00
CHARGETABLE.CHARGE[3].BALANCE = 30.00
CHARGETABLE.CHARGE[4].BALANCE = 90.00
CHARGETABLE.CHARGE[5].BALANCE = 50.00
Отлично .. спасибо Лоуренс .. выполнил эту работу. Очень признателен. – Kev