sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo unir dos tablas y compararlas? (He preguntado varias veces, pero no pude encontrar la respuesta).

Creo que esto es lo que buscas. Avísame si necesitas algo más. Probablemente debería tener chart_num en credit_card para poder unir las tablas.

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;

Probablemente sería una buena idea tener una tabla de visitas del cliente en caso de que un cliente venga a la oficina dos veces al día o establezca un plan de pago en el que no pague el día que llega a la oficina.