Jeg tror, det er det, du går efter. Sig til, hvis du har brug for noget andet. Du skal nok have chart_num i credit_card, så du kan slå tabellerne sammen.
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;
Det ville sandsynligvis være en god idé at have et client_visit-bord, hvis en kunde kommer til kontoret to gange om dagen eller opretter en betalingsplan, hvor de ikke betaler den dag, de kommer til kontoret.