我需要在SQL中运行简单的选择查询。多次选择查询,更改日期
问题是我需要12个输出基础不同的月份。有没有办法像宏一样执行一些事情,我只需编写一次查询,并且只需更改monthend日期就可以自行运行12次?
感谢
我需要在SQL中运行简单的选择查询。多次选择查询,更改日期
问题是我需要12个输出基础不同的月份。有没有办法像宏一样执行一些事情,我只需编写一次查询,并且只需更改monthend日期就可以自行运行12次?
感谢
你可以使用下面的构造得到12条每个月和交叉运用与原来的查询结果。
;WITH q AS (
SELECT Column1 = GetDate()
UNION ALL
SELECT DATEADD(mm, 1, q.Column1)
FROM q
WHERE q.Column1 < DATEADD(mm, 11, GetDate())
)
SELECT *
FROM q
尝试解决关系代数的概念。
翻译算法的方法,如循环,只能工作到目前为止。关系代数传统上有其局限性(所以你会在所有RDBMS中找到程序支持),但是与CTE和递归查询一起,你几乎没有办法做。
你的问题可以通过
我要说的是概念上的递归查询是最难理解和维护,请阅读大量示例。
好宏。 :)当然,对于SQL Server 2005+ – 2011-04-11 13:27:49
@Andriy而言,这是真的。 OP没有提及她正在使用的版本。我认为它至少是2005年。如果不是,那么with结构关闭。 – 2011-04-11 13:46:31