2013-06-19 76 views

回答

2

您最容易做的事情就是创建一个numbers table,您可以使用这些类型的查询。

你也可以使用递归公用表表达式生成的几年名单:

;with cte (yr) as 
(
    select 2000 
    union all 
    select yr + 1 
    from cte 
    where yr+1 <=2013 
) 
select yr 
from cte; 

SQL Fiddle with Demo

+0

我真的不理解这个概念,或者你提供的SQL,但它就像魅力,这就是我现在所关心的。谢谢! – jreed121

+1

@ jreed121这里是MSDN文档的链接 - http://msdn.microsoft.com/en-us/library/ms186243(v=sql.105).aspx - 这是关于递归查询的。 – Taryn