2017-06-19 71 views
-2

我必須在SQL Server 2012的每個星期一生成一份每週報告。 示例:假設我今天開始(2017年6月19日 - 2017年1月),因此我當前的查詢 應該讀取我從過去的結果。現在,當我再次運行查詢 周如何在SQL2012中生成每週報告

(2017年6月26日 - 2017年1月),它應該從 (2017年6月20日至星期二在數據庫)獲取數據庫。我希望這很清楚。

我有下面的查詢,有什麼我需要在此添加,使其產生 每週報告。

[MySQLCODE]

+2

沒有連接? – Eli

+0

而不是鏈接到您的查詢的圖像,您應該將查詢發佈爲文本。 –

+0

你應該開始使用ANSI-92風格的連接......他們現在已經存在了超過25年。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx –

回答

0

我沒有看到任何連接的SQL代碼作爲您的問題聲明。無論哪種方式,我會告訴你我是如何使用變量和SQL之間的「詞」來設置類似的報告。

 DECLARE @dateRangeStart datetime, 
     @dateRangeEnd datetime 
    SET @dateRangeStart = DATEADD(day, DATEDIFF(day, 0, getdate())-7, 0) 
    set @dateRangeEnd = DATEADD(day, DATEDIFF(day, 0, getdate()), 0) 

Select ...<your query> 
Where <the column name that holds dates> date_created between @dateRangeStart and @dateRangeEnd 

現在我輸入的查詢將會查找7天前的12am到今天12am的所有項目。所以如果你在星期一運行它,它將會有數據(從上週一@上午12點直到今天星期一上午12點)。所以你可能需要調整你在兩者之間使用的時間。如果您添加您的代碼,我或其他人可能會進一步提供幫助。

+0

謝謝Kram_Koorbse。我會試試這個建議。 –

+0

謝謝Kram_Koorbse,它工作。 –