मुझे लगता है कि आप यही चाहते हैं। अगर आपको कुछ और चाहिए तो मुझे बताएं। संभवतः आपके पास क्रेडिट_कार्ड में चार्ट_संख्या होनी चाहिए ताकि आप एक साथ तालिकाओं में शामिल हो सकें।
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;
यदि कोई ग्राहक दिन में दो बार कार्यालय आता है या भुगतान योजना सेट करता है, जहां वे उस दिन भुगतान नहीं कर रहे हैं जिस दिन वे कार्यालय आते हैं, तो क्लाइंट_विजिट टेबल रखना शायद एक अच्छा विचार होगा।