Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment joindre deux tables et les comparer ? (j'ai demandé plusieurs fois, mais je n'ai pas trouvé la réponse.)

Je pense que c'est ce que vous recherchez. Faites-moi savoir si vous avez besoin d'autre chose. Vous devriez probablement avoir chart_num dans credit_card afin que vous puissiez joindre les tables ensemble.

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;

Ce serait probablement une bonne idée d'avoir une table client_visit au cas où un client vient au bureau deux fois par jour ou met en place un plan de paiement où il ne paie pas le jour où il vient au bureau.