この SQL クエリを作成する方法についてしばらく考えていましたが、数時間考えた後、SO コミュニティに何かアイデアがあるかどうか尋ねてみようと思いました。
以下は、テーブルの関連部分のモックアップです。
契約
- ID
- 日にち
- ar (はい/いいえ)
- 学期
支払い
- contract_id
- 支払期日
クエリの目的は、月ごとに、予想される支払いの数と受け取った支払いの数を判断することです。
支払いを期待するための条件が「はい」の場合contracts.term
、期待される支払いは の月後contracts.date
に
始まります。支払いは、最初の未払いの翌月まで引き続き期待されます。contracts.ar
これにはもう 1 つの複雑な問題があります。支払いが遅れる可能性がありますが、予定どおりに支払われたかのように表示される必要があります。
データはすべてそこにありますが、SQL クエリに頭を悩ませていました。私は SQL の第一人者ではありません。単純なクエリを処理した経験がかなりあるだけです。可能であれば、コードで結果をフィルタリングすることは避けたいのですが、あなたの助けがなければ、それは私がしなければならないことかもしれません.
期待される出力
Month Expected Payments Received Payments
January 500 450
February 498 478
March 234 211
April 987 789
...
SQL フィドル
SQL Fiddle を作成しました: http://sqlfiddle.com/#!2/a2c3f/2