2013-12-19 39 views
0

我創建一個估算並將其發送給客戶。如果客戶在3天內沒有回覆,我會發送一條後續消息。再過3天,另一個後續消息。在多個訪問列中檢查日期並返回

我將所有這些信息存儲在Access 2010數據庫中。記錄通過InfoPath表單創建。

在表中,我有4列日期:GenDate,F1Date,F2Date,F3Date。在每條記錄上,GenDate通過InfoPath表單記錄創建記錄的日期,因此始終填寫該記錄。

F1Date僅在記錄被第一次追蹤時纔給出日期,並且否則爲空。 F2Date獲取第二個後續日期,否則爲空。 F3Date使用相同。

這就是我有這麼遠的工作:

SELECT Active.GenDate, Active.F1Date, Active.F2Date, Active.F3Date 
FROM Active 
WHERE (Active.GenDate <= DATE() - 3) 

這將返回正確的記錄,如果我只想評估GenDate列,但我怎麼也查別人,只返回一個記錄,其中每列評估爲3天或更多天?

實施例:
記錄1:
今天是12/18,GenDate是12/9,F1Date是12/13,F2Date是12/17,F3Date爲空
記錄2:
今天是12/18,GenDate是12/9,F1Date是12/13,F2Date是null,F3Date是null
記錄3:
今天是12/18,GenDate是12/12,F1Date是空的,F2Date是空的,F3Date爲空

結果: 記錄2 &記錄3

回答

0

我想你可以and在附加條件,同時也爲比較值NULL

SELECT a.GenDate, a.F1Date, a.F2Date, a.F3Date 
FROM Active a 
WHERE (a.GenDate <= DATE() - 3) and 
     (a.F1Date <= DATE() - 3 or a.F1Date is NULL) and 
     (a.F2Date <= DATE() - 3 or a.F2Date is NULL) and 
     (a.F3Date <= DATE() - 3 or a.F3Date is NULL) 
+0

PERFECTO!謝謝! – JStrand87

相關問題