22,209
社区成员
发帖
与我相关
我的任务
分享
select 订单编号, 名称,类,型号,值, 1 as 数量, 颜色7
from test ,
(
SELECT [number] FROM [master].dbo.[spt_values] WHERE [name] IS NULL and number<>0) c
where 数量 >= c.number
declare @FullRowSize int=30;
with dataSource(订单编号,数量) as
(
select 'A001' ,33 union all
select 'A002' ,5 union all
select 'A003' ,60
)
,c as (
SELECT[number]+1 RowNum FROM [master].dbo.[spt_values] WHERE type='p'
)
,d1 as (
select *,数量/@FullRowSize FullRow,数量%@FullRowSize ModCnt
from dataSource
)
,d2 as (
select 订单编号,数量,@FullRowSize 分后数量, c.RowNum 分后序号
from d1,c
where d1.FullRow>=c.RowNum
union all
select 订单编号,数量,ModCnt ,FullRow+1
from d1
where ModCnt>0
)
select * from d2
order by 订单编号,分后序号
with dataSource(订单编号,数量) as
(
select 'A001' ,33 union all
select 'A002' ,5 union all
select 'A003' ,160
)
,c as (
SELECT[number]+1 RowNum FROM [master].dbo.[spt_values] WHERE type='p'
)
,d1 as (
select *,数量/20 FullRow,数量%20 ModCnt
from dataSource
)
,d2 as (
select 订单编号,数量,20 分后数量, c.RowNum 分后序号
from d1,c
where d1.FullRow>=c.RowNum
union all
select 订单编号,数量,ModCnt ,FullRow+1
from d1
where ModCnt>0
)
select * from d2
order by 订单编号,分后序号