数据库中一个表如下:
原表T的查询结果
A列(编码) B列(名称) C列(数量)
AA 笔 5
AB 纸 3
希望根据c列的数量查询出来的结果是
A列(编码) B列(名称) C列(数量)
AA 笔 1
AA 笔 1
AA 笔 1
AA 笔 1
AA 笔 1
AB 纸 1
AB 纸 1
AB 纸 1
在SQL SERVER 2008中 如何能做到 ?
------解决方案--------------------
是这样吗:
--drop table t
create table T(A varchar(10), B varchar(10), C int)
insert into T
select 'AA', '笔', 5 union all
select 'AB', '纸', 3
go
select t.A 编码, t.B as 名称,1 as 数量
from t,master..spt_values s
where t.c>= s.number and s.type= 'P' and s.number >0
/*
编码 名称 数量
AA 笔 1
AA 笔 1
AA 笔 1
AA 笔 1
AA 笔 1
AB 纸 1
AB 纸 1
AB 纸 1
*/