MySql с несколькими суммами проверяет один столбец
Таблица: счет-фактура
id amount status
1 100 PAID
1 200 PAID
1 500 UNPAID
1 100 UNPAID
Я хочу сумму на основе статуса
Результат:
id paid_amt unpaid_amt
1 300 600
Не могли бы вы предоставить решение?
1 ответ
Вам нужен поворотный кейс перед суммированием для достижения желаемого результата.
Попробуй это:
select
id,
sum( paid_amount ) as paid_amount,
sum( unpaid_amount ) as unpaid_amount
from(
SELECT
id,
case status when 'PAID' then amount else 0 end paid_amount,
case status when 'UNPAID' then amount else 0 end unpaid_amount
FROM Invoice
) pay_report
group by id