私はそのように見えるクエリを持っています...
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 句に必要な最小値と最大値を返すことができます。
このクエリは 2 つの日付を返すため、このクエリを基にして、返された StartDate と EndDate から決定された TotalDays (TotalDays は営業日、Mon-Fri) の整数値で返される別の列を追加する方法を見つけたいと思います。 .
日数を返すクエリを見つけることができますが、基本的には、ACCESS でクエリを作成して、このクエリを呼び出し ([@MilestoneID] パラメーターを渡す)、返されたレコードごとに列を追加したいと考えています。 TotalDays カウントの最後。