某视图如下
代码 名称 份数 打印份数
01 张三 90 2
02 李四 80 3通过select 生成如下
代码 名称 份数
01 张三 90
01 张三 90
02 李四 80
02 李四 80
02 李四 80 这样好直接打印出来相应的份数。
代码 名称 份数 打印份数
01 张三 90 2
02 李四 80 3通过select 生成如下
代码 名称 份数
01 张三 90
01 张三 90
02 李四 80
02 李四 80
02 李四 80 这样好直接打印出来相应的份数。
调试欢乐多
select a.*
from tb a,master..spt_values b
where b.[type] = 'p' and b.number between 1 and a.打印份数
if object_id('tb') is not null
drop table tb
go
create table tb
(
代码 varchar(10),
名称 varchar(10),
份数 int,
打印份数 int
)
go
insert into tb
select '01','张三',90,2 union all
select '02','李四',80,3
go
select 代码,名称,份数 from tb a cross join master..spt_values b where b.type='p' and number between 1 and 打印份数
go
/*
(2 行受影响)
代码 名称 份数
---------- ---------- -----------
01 张三 90
01 张三 90
02 李四 80
02 李四 80
02 李四 80(5 行受影响)
*/
to pengxuan:强调的是用select ,不能用临时表,临时表我会
to liu_yueyang:非面试题,实际的应用,控制打印条形码的个数
from tb a,master..spt_values b
where b.[type] = 'p' and b.number between 1 and a.份数