sql把根据数量列,拆分为相应的记录。
2014年3月7日
数据库中一个表如下:
原表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 */
声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: sql把根据数量列,拆分为相应的记录。