有一张表table1(
id int,
count int
)
现在我要产生一张表,表中的内容是每条数据的id加上从1数到对应的count值。
例如,table中有两条数据“1,3”,“2,4”那产生的新表的数据就为:“1,1”,"1,2","1,3" ,"2,1",2,2",2,3",2,4"。
请问有什么办法可以实现这个查询。不胜感激
...全文
7095打赏收藏
SQL查询实现递增
有一张表table1( id int, count int ) 现在我要产生一张表,表中的内容是每条数据的id加上从1数到对应的count值。 例如,table中有两条数据“1,3”,“2,4”那产生的新表的数据就为:“1,1”,"1,2","1,3" ,"2,1",2,2",2,3",2,4"。 请问有什么办法可以实现这个查询。不胜感激
在stackoverflow中有人回复了,拿出来分享一下,结贴
WITH cteNumbers
AS (SELECT Id,
1 [Sequence],
[Count]
FROM Table1
UNION ALL
SELECT Id,
[Sequence] + 1,
[Count]
FROM cteNumbers
WHERE [Sequence] < [Count])
SELECT Id,
[Sequence]
FROM cteNumbers
ORDER BY 1,
2
OPTION (MAXRECURSION 0);