【数据库需求】生成指定区域内所有扩展数据

xiaoxiao2021-02-28  97

-------需求:生成指定区域内所有扩展数据 --(id,id2,create_number<=num,num) DEMO:(1,1,3)->(1,1,1,3),(1,1,2,3)(1,1,3,3) if(object_id('tempdb..#a','U') is not null) drop table #a; create table #a ( pk_id int not null identity(1,1) constraint PK_#A primary key , id int ,id2 int ,num int ); insert into #a values (1,1,3),(1,1,4); ------------------------------------ ;with Numb as (select * from (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) AS D(i)), --生成序列 Rnumb as (select a.i*100+b.i*10+c.i as sequ from Numb a cross apply Numb b cross apply Numb c ) select z.*,d.point from #a as z cross apply ( select '('+cast(a.id as varchar)+','+cast(a.id2 as varchar)+','+cast(b.sequ as varchar)+','+cast(a.num as varchar)+')' from #a a join Rnumb b on a.num>=b.sequ where b.sequ<>0 and a.pk_id=z.pk_id for xml path('') ) as D(point)
转载请注明原文地址: https://www.6miu.com/read-38772.html

最新回复(0)