Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak połączyć dwa stoły i porównać je? (Pytałem kilka razy, ale nie mogłem znaleźć odpowiedzi.)

Myślę, że to jest to, czego szukasz. Daj mi znać, jeśli potrzebujesz czegoś innego. Prawdopodobnie powinieneś mieć chart_num w credit_card, aby móc łączyć stoły razem.

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;

Prawdopodobnie dobrym pomysłem byłoby posiadanie stolika client_visit na wypadek, gdyby klient przychodził do biura dwa razy dziennie lub ustawiał plan płatności, w którym nie płaci w dniu przyjścia do biura.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać maksimum dwóch wartości w MySQL?

  2. Kolejność wykonania zapytania / klauzuli MySQL

  3. Wykonanie zapytania w PHP trwa 90 razy dłużej niż w przypadku klienta MySQL

  4. MySQL Pobiera czas starego wstawienia rekordu?

  5. problem z kluczem obcym w jdbc