table structure
=====================================================================
id |fee_amount|fee_paid|fee_type|fee_user|date | Fee_for
=====================================================================
1 | 2000 | 500 | REG | 105 | 01.02.2017 | FEB
-----------------------------------------------
2 | 2000 | 1000 | REG | 105 | 03.02.2017 | FEB
-----------------------------------------------
3 | 2000 | 500 | REG | 105 | 04.02.2017 | FEB
-----------------------------------------------
4 | 1000 | 500 | FEE | 105 | 10.03.2017 | MAR
-------------------------------------------------------------
5 | 1000 | 500 | FEE | 105 | 11.03.2017 | MAR
--------------------------------------------------------------
6 | 1000 | 1000 | FEE | 105 | 13.03.2017 | APR
Из вышесказанного я сохраняю детали оплаты комиссии
одному студенту выплачивается сумма как частично по вышеуказанным значениям
используя это мне нужно, чтобы получить общую сумму и общую сумму оплаченных сборов, а остаток необходимо оплатить
для этого я использовал
SELECT SUM(fee_amount) as fee, SUM(fee_paid) as paid ,fee_type
FROM tbl_fee A WHERE fee_user='105'
group by fee_type
having SUM(fee_amount)!=(SUM(fee_paid)
Но это становится
6000 | 2000 | REG
2000 | 1000 | FEE
мне нужно получить
2000 | 2000 | REG
1000 | 1000 | FEE
Просто используйте этот запрос, чтобы получить результат, который вам нужен
SELECT fee_amount as fee, SUM(fee_paid) as paid ,fee_type FROM tbl_fee A WHERE fee_user='105' group by fee_type
Если вы не хотите суммировать fee_amount
поле, то просто не суммируйте его, а либо включите в group by
пункт или использовать any_value()
функция, чтобы сделать ваш запрос совместимым со стандартом sql:
SELECT fee_amount as fee, fee_type, SUM(fee_paid) as paid
FROM tbl_fee A
WHERE fee_user='105'
group by fee_type, fee_amount
Очевидно, эти решения предполагают, что fee_amount
одинаково в рамках fee_type для всех пользователей. Если fee_amount
Может отличаться в зависимости от типа оплаты и пользователя, поэтому вам нужно указать, как обращаться с такими ситуациями.