2017-06-19 33 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,它工作。 –