テーブル:
cust table:
cust_id, name, etc
bill table:
bill_id, cust_id, amt, due_date, status (open/closed)
payment table:
payment_id, bill_id, amt etc
お客様は複数回の分割払いで 1 つの請求書を決済できます。したがって、1 つの bill_id が payment_ids に関連付けられる場合があります。
このレコードセットを生成できません:
cust_id | 支払期日
「due amt」は、すべての bill.amts の合計です - すべての payment.amts の合計で、ステータスがオープンです。
請求表
bill_id cust_id amt status
1 18 200 open
2 18 200 open
3 17 200 open
4 17 200 open
5 17 200 open
6 17 200 closed
支払い表
payment_id bill_id cust_id amt
1 1 18 50
2 2 18 40
3 3 17 10
期待される出力
cust_id due_amt hint/how
17 590 (600-10) .. 600 -> because one is closed
18 310 (400-(50+40))