我有一个带有日期和其他一些信息的第一张表 T1:
--TABLE1
date, field1, field2, field3...
20120801 | info1 | info2 | ...
20120802 | info1 | info2 | ...
20120803 | info1 | info2 | ...
20120804 | info1 | info2 | ...
20120805 | info1 | info2 | ...
20120806 | info1 | info2 | ...
我有第二个表 T2,其中包含与日期相关的信息,包括工作日和周末:
--TABLE2
date, businessdayofthemonth, day, field4...
20120801 | 1 | Wednesday | ...
20120802 | 2 | Thursday | ...
20120803 | 3 | Friday | ...
20120804 | NULL | Saturday | ...
20120805 | NULL | Sunday | ...
20120806 | 4 | Lundi | ...
现在我要做的是:我想为表 1 的每一行设置表 2 的日期,该日期与给定日期后的第三个工作日完全对应 <=> (isnumeric(businessdayofthemonth)=1)
例如,如果我选择 T1 的第一行:
dateT1 | dateT1+3 | TheDateIWant |
20120801 | 20120804 | 20120806 | info1 | info2 | ...
希望我解释正确,谢谢
编辑: 我认为我没有正确解释这一点:我需要在给定日期后正好 3 个工作日的日期,这意味着:
为了:
20120803 | 3 | Friday | ...
我想要接下来的 3 个工作日日期:
20120808
顺便说一句,为什么要投反对票?我在一个有数十亿行的数据库上工作,这只是我对 300 行请求超过 15 个表所做的工作的一部分,如果我发布,我尝试过。