2015-12-01 29 views
-1

日期循環這是我下面的語句:如何創建SQL

SELECT [Opp ID], max([Record ID]) as [Record ID] 
FROM Opp History Table 
WHERE [Last Modified Date] < '2015-01-06' 
GROUP BY [Opp ID] 

我試圖構建檢索數據,顯示瞭如何將預測是每週更改表。

我需要每週最近的opp記錄,從'2015-01-05'。我將如何編寫執行上述說明的腳本,但以7天爲增量([上次修改日期] + 7天)。

而且,反正是有,我可以創造一個領域,如「快照日期」,將標記與感興趣的是年月日的每個OPP?

謝謝。任何幫助表示讚賞!

+0

請張貼表結構,以便我們可以看到數據來自何處。此外,請發佈示例預期結果集 – dfundako

+0

Google,並瞭解SQL中的DATEADD()函數。 –

回答

1

我會考慮創建一個日期維度表像this這將讓你做加入您的日期以獲得額外的日期相關的信息 - 如果需要的話。

否則,只包括日期列中的一週的DatePart,並將其包含在您的GROUP BY中。無論哪種方式,你都不需要一個循環。

SELECT [Opp ID], max([Record ID]) as [Record ID], DatePart(WEEK, [Last Modified Date]) 
FROM Opp History Table 
WHERE [Last Modified Date] < '2015-01-06' 
GROUP BY [Opp ID], DatePart(WEEK, [Last Modified Date]) 
+0

我加入此表的ON記錄ID與Opp歷史記錄表的其餘部分以檢索opp相關信息。但是,我目前的查詢只檢索2015年1月5日「快照日期」的最新修改後的opps。我相信我仍然需要一個循環來檢索1/12/15,1/19/15等最近修改過的opps。 –