sql CTE递归生成连续数

use db_sql2005
GO
with x(编号,编号bb) 
as     (select top 1 0,'aa' from tb_series 
   union all 
   select 编号+1,'bb'
   from x where 编号+1<=3)
select * from x 
GO

select 0,'aa' from tb_series 
--0    aa
--0    aa
--0    aa
--下面开始第一次检索tb_series表的第一条数据 :0 aa
--初始值是0,循环下面这条语句,直到结束
 select 编号+1,'bb'
   from x where 编号+1<=3
 --产生了3条语句:
--1    bb
--2    bb
--3    bb 

--第二次检索  tb_series表的第2条数据 :0 aa
--初始值是0,循环下面这条语句,直到结束
 select 编号+1,'bb'
   from x where 编号+1<=3
 --产生了3条语句:
--1    bb
--2    bb
--3    bb 


--第三次检索  tb_series表的第2条数据 :0 aa
--初始值是0,循环下面这条语句,直到结束
 select 编号+1,'bb'
   from x where 编号+1<=3
 --产生了3条语句:
--1    bb
--2    bb
--3    bb 

--查询结果=表tb_series的记录+这三次记录

 

 

你可能感兴趣的:(我的数据库3)