我正在嘗試基於數據庫中多個不同表的數據構建訪問報告。困難的MS Access查詢 - 如何將它們合併?
我有3列執行計算,我想知道如何把這個查詢放在一起。所有3列都處理日期,但計算方式不同。
的第一列檢索動作的用戶名字的最近日期,如果動作的類型是「B」:
select pid, Max(date) as most_recent
from actions
where ref = 'B'
group by pid;
根據2個字段,一個所述第二列執行計算是一個日期,一個是幾個月的數字。我不確定如何添加這兩個字段,以便將該數字作爲月數添加到日期中。
我至今是:
select nummonths,Max(lastvisit) from users
的第三列我需要選擇爲每個用戶(下一個約會日期)以後的第一次約會,多數民衆贊成,將有日期前而這個日期,以便它有點困難後:
select uid,date from visits
最後2個查詢代碼需要稍作修改,我想知道最好的方法是什麼曹某在這些一起?一種連接?
你能提供一些所有三個表(只有適用的字段)的示例數據和樣本結果嗎?它將有助於回答你的問題。 – NGLN 2011-06-10 21:30:51
表達式'Max(date)'引用'actions.date'字段的Max()嗎?如果是這樣,你真的需要指定,因爲Jet/ACE查詢優化器可能會決定你只需要當前日期的Max()(因爲這是Date()函數返回的值)。總之,你真的應該避免使用保留字作爲字段名稱,但是當你必須使用它們(例如,別人控制着表格設計)時,你可以通過完全指定它們(使用表名)並圍繞帶方括號的保留字,'Max(動作。[日期])'。 – 2011-06-12 21:18:55