Никогда не используйте запятые в предложении FROM
. Всегда используйте правильный, явный, стандартный , читаемый синтаксис JOIN
.
Вы также можете упростить свою логику подсчета c в MySQL. Нет необходимости в IF()
или подзапросе:
SELECT COUNT(*) as total,
SUM(cash_amount_received) AS sum_cash_amount_received,
SUM( total_medical_bills >= 100000 AND
obligatory_issue <> 0
) as obligatory_issue,
SUM(CASE WHEN total_medical_bills >= 100000
THEN cash_amount_received
END) as sum_obligatory_issue,
SUM(amount) AS sum_amount
FROM hospital_payment_data hpd JOIN
cash_receipt_row crr
ON hpd.id = crr.id;
Вы заметите, что там, где требуется условный лог c, тогда используется стандартная конструкция SQL, CASE
, а не чем IF
.