0
我有一個查詢,看起來像這樣...呼叫接入查詢和各記錄添加列返回
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])
正如你可以看到,這是一個自連接表返回我一個專案編號(FK),StartDate和EndDate,它們都是表中的EntryDate列。爲了讓記錄返回,我需要傳遞一個整數值[@milestoneID],它允許子查詢返回WHERE子句所需的最小值和最大值。
由於此查詢返回兩個日期,我想了解如何構建此查詢並添加另一列,該列使用TotalDays的整數值(TotalDays爲營業日,週一至週五)返回StartDate和EndDate。
我可以找到一個查詢來返回天數,但基本上我想在ACCESS中創建一個查詢,該查詢允許我調用此查詢(並傳入[@MilestoneID]參數)並返回每個記錄,將一列添加到TotalDays計數的末尾。
我很感謝您的迴應,但我如何僅使用SQL來執行此操作?這個Access數據庫是臨時的,很快就會遷移到MySQL,我希望將這些工作保留在後端而不是應用程序代碼中。 –
@ user1066133不要以爲VBA功能爲「應用代碼」的,認爲它是訪問等同於SQL Server的「標量值函數」或MySQL的「功能」。單單在Access中完成同樣的事情會很醜陋(它會涉及一個數字表和幾個級別的派生表),它幾乎肯定不會直接轉換成MySQL。即使MySQL中的「純SQL」解決方案也有點粗糙,如[此處]所示(http://stackoverflow.com/a/12925535/2144390)。 –
是的,你是對的。我遇到的唯一問題是,當我現在運行查詢時,表達式中的「未定義函數CountWeekDays」出現錯誤。該模塊明確命名相同,並完全按照所示進行復制/粘貼。 –