就我而言,我有三张桌子。合同表、协议表和付款表。我所拥有的是一个包含代表债务价值的合同的表格,另一个包含偿还债务条件协议的表格,以及另一个与将债务分割成包裹的协议表格相关的表格。
ContractsTable
(Id | Number | Name | Debt | ...)
1 | 1234 | AAAAAA | 1250,00 € | ...
2 | 1235 | BBBBBB | 5000,20 € | ...
3 | 1236 | CCCCCC | 500,00 € | ...
AgreementsTable
(Id | ContractId | Debt | IsValid | ...)
1 | 1 | 1250,00 € | 1 | ...
2 | 2 | 5000,20 € | 0 | ...
3 | 2 | 5000,20 € | 1 | ...
4 | 3 | 500,00 € | 0 | ...
PaymentsTable
(Id | AgreementId | Date | Amount | IsPaid | ...)
1 | 1 | 01/08/2012 | 500,00 € | 1 | ...
2 | 1 | 01/09/2012 | 500,00 € | 1 | ... -> Last payment
3 | 1 | 01/10/2012 | 250,00 € | 0 | ... -> Next Payment
4 | 3 | 01/08/2012 | 1000,00 € | 1 | ...
5 | 3 | 01/09/2012 | 1000,00 € | 1 | ...
6 | 3 | 01/10/2012 | 1000,00 € | 0 | ...
7 | 3 | 01/11/2012 | 1000,00 € | 0 | ...
8 | 3 | 01/12/2012 | 1000,20 € | 0 | ...
因此,当我执行存储过程以获取带有合同的表格时,我想以某种方式看到一列,其中包含最后一次付款的日期和下一次付款的日期。但是,如果合同有相关的有效协议,并且只有在协议有效的情况下下一次付款的情况下,我才能看到最后一次付款的日期和下一次付款的日期。
我正在使用 MS Sql Server。
提前致谢!