【发布时间】:2013-06-27 22:33:48
【问题描述】:
我有一个看起来像这样的查询...
SELECT tbl1.ProjectID, tbl1.EntryDate AS StartDate, tbl2.EntryDate AS EndDate
FROM checklist_entries tbl1
INNER JOIN checklist_entries tbl2
ON tbl1.ProjectID = tbl2.ProjectID
WHERE tbl1.ChecklistDay = (SELECT ChecklistDayMin FROM milestone_def WHERE MilestoneDefID = [@milestoneID])
AND tbl2.ChecklistDay = (SELECT ChecklistDayMax FROM milestone_def WHERE MileStoneDefID = [@milestoneID])
如您所见,这是一个自联接表,它返回一个 ProjectID (FK)、一个 StartDate 和 EndDate,它们都是表中的 EntryDate 列。为了返回记录,我需要传入一个整数值 [@milestoneID],它允许子查询返回 WHERE 子句所需的最小值和最大值。
由于此查询返回两个日期,我想了解如何在此查询的基础上构建并添加另一个列,该列返回的整数值 TotalDays(TotalDays 是工作日,周一至周五)由返回的结果确定开始日期和结束日期。
我可以找到一个查询来返回天数,但基本上我想在 ACCESS 中创建一个查询,允许我调用此查询(并传入 [@MilestoneID] 参数)并为返回的每条记录添加TotalDays 计数末尾的列。
【问题讨论】: