我在 SQL Server 中遇到递归查询问题。
假设我有 2 个表:
Holiday:此表存储所有假期(holidayDate非工作日)Invoice:此表存储下一个付款日期(nextPaymentDate)
如果nextPaymentDate在 holidayDate假期表上,那么我需要更新它:
nextPaymentDate = nextPaymentDate + 1 day
这一步需要处理,直到nextPaymentDate不再存在holidayDate。
请参阅下面的示例数据示例:
Holiday桌子:
HolidyaID HolidayDate
-----------------------------
1 2012-01-02
2 2012-01-03
3 2012-01-04
4 2012-01-08
5 2012-01-12
6 2012-01-13
7 2012-01-20
8 2012-01-21
9 2012-01-22
10 2012-01-23
11 2012-01-29
12 2012-01-30
Invoice桌子
InvoiceID NextPaymentDate
------------------------------
1 2012-01-01
2 2012-01-02
3 2012-01-09
4 2012-01-20
运行此查询后,我想像这样查看Invoice表中的数据
InvoiceID NextPaymentDate
-------------------------------
1 2012-01-01
2 2012-01-05
3 2012-01-09
4 2012-01-24
如何创建 SQL 查询来输出此结果?
您可以在http://sqlfiddle.com/#!6/de346/3测试此查询
谢谢你!