Ich denke, das ist es, wonach Sie suchen. Lassen Sie mich wissen, wenn Sie etwas anderes brauchen. Sie sollten wahrscheinlich chart_num in credit_card haben, damit Sie die Tabellen zusammenfügen können.
Select hpd.chart_num,
hpd.chart_name
hpd.visit,
hpd.card_amount_received,
cc.card_date,
CASE WHEN hpd.card_amount_received = SUM(cc.advenced_amount) THEN hpd.card_amount_received ELSE NULL END AS ‘amount’,
CASE WHEN hpd.card_amount_received > SUM(cc.advenced_amount) THEN ‘error’ ELSE ‘ok’ END AS ‘result’
from hospital_payment_data hpd
LEFT JOIN credit_card ON cc.chart_num=hpd.chart_num AND
date(cc.card_date) = date(hpd.visit)
GROUP BY hpd.chart_num, hpd.visit;
Es wäre wahrscheinlich eine gute Idee, eine client_visit-Tabelle zu haben, falls ein Kunde zweimal am Tag ins Büro kommt oder einen Zahlungsplan einrichtet, bei dem er am Tag, an dem er ins Büro kommt, nicht zahlt.