Как рассчитать сумму в две таблицы - PullRequest
1 голос
/ 06 апреля 2020

У меня есть две таблицы.

Я хочу использовать значение chart_num для двух таблиц.

Таблица hospital_payment_data

id  chart_num   treatment_fees_difference    treatment_fees_check_division
1        9        200000                             test
2        9        100000                             test

Таблица advenced_payment

id  chart_num      advenced_amount
1      9                100000

Я хочу результат

COUNT       if_treatment_fees_check_division     sum_init_amount
  2                      200000                  100000

Я хочу treatment_fees_check_division = количество тестов, и я хочу treatment_fees_check_division = сумма условий теста Не могли бы вы предоставить решение?

1 Ответ

1 голос
/ 06 апреля 2020

Я думаю, что вы ищете запрос, как показано ниже -

ДЕМО ЗДЕСЬ

Примечание. В соответствии с вашими условиями и данными, СУММА if_treatment_fees_check_division должна быть 300000

SELECT A.chart_num,
COUNT(*) COUN,
SUM(CASE 
    WHEN treatment_fees_check_division = 'test' THEN treatment_fees_difference 
    ELSE 0 
END) if_treatment_fees_check_division,
(
    SELECT SUM(advenced_amount) 
    FROM advenced_payment 
    WHERE chart_num = A.chart_num
) sum_init_amount
FROM hospital_payment_data A
GROUP BY A.chart_num
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...