【发布时间】:2014-03-07 15:19:43
【问题描述】:
所以这是一个常见的问题,但我还没有找到真正适合我特定需求的答案。我有 2 张桌子。一个有一个 ProjectClosedDates 列表。另一个表是一个日历表,它像 2025 一样经过,其中包含行日期是否为周末的列,另一列表示假日的日期。
我的最终目标是根据 ProjectClosedDate 找出该日期后 5 个工作日的日期。我的想法是我将使用日历表并将其连接到自身,这样我就可以在距离行日期 5 个工作日的日历表中插入一列。然后我打算根据 ProjectClosedDate = RowDate 将 Project 表加入到该表中。
如果我只是要检查一条记录的实际营业日期表,我可以使用这个:
SELECT actual_date from
(
SELECT actual_date, ROW_NUMBER() OVER(ORDER BY actual_date) AS Row
FROM DateTable
WHERE is_holiday= 0 and actual_date > '2013-12-01'
ORDER BY actual_date
) X
WHERE row = 65
从这里:
但是,这只是一个日期,我需要基于每一行的一列日期。有什么想法最好的方法是什么?我正在使用 SQL-Server Management Studio。
【问题讨论】: