sql 里怎样将数量字段的数量显示相应的记录数出来
在线等sql 里怎样将数量字段的数量显示相应的记录数出来?在线等
如题有一个表,要做打印标签,有的商品要根据数量打印相应个数出来,也就是按数量拆分成单条:
A01(条码) A02(单价) A03(数量) A04(备注)
---------------------------------------------------------------------------------
80001 78.5 2 化妆品类
80002 25 1 饮料类
80003 50 3 烟酒类
....
想得到如下结果(希望语句写得短小精悍):
A01(条码) A02(单价) A03(数量) A04(备注)
---------------------------------------------------------------------------------
80001 78.5 1 化妆品类
80001 78.5 1 化妆品类
80002 25 1 饮料类
80003 50 1 烟酒类
80003 50 1 烟酒类
80003 50 1 烟酒类
....
------解决思路----------------------
------解决思路----------------------
如题有一个表,要做打印标签,有的商品要根据数量打印相应个数出来,也就是按数量拆分成单条:
A01(条码) A02(单价) A03(数量) A04(备注)
---------------------------------------------------------------------------------
80001 78.5 2 化妆品类
80002 25 1 饮料类
80003 50 3 烟酒类
....
想得到如下结果(希望语句写得短小精悍):
A01(条码) A02(单价) A03(数量) A04(备注)
---------------------------------------------------------------------------------
80001 78.5 1 化妆品类
80001 78.5 1 化妆品类
80002 25 1 饮料类
80003 50 1 烟酒类
80003 50 1 烟酒类
80003 50 1 烟酒类
....
------解决思路----------------------
with a(条码,单价,数量,备注) as(
select 80001,78.5,2,'化妆品类' union all
select 80002,25,1,'饮料类' union all
select 80003,50,3,'烟酒类'
)
select a.条码,a.单价,1 as 数量,a.备注 from a, master..spt_values where type='p' and number<a.数量
/**
条码 单价 数量 备注
--------------------------------
80001 78.5 1 化妆品类
80001 78.5 1 化妆品类
80002 25.0 1 饮料类
80003 50.0 1 烟酒类
80003 50.0 1 烟酒类
80003 50.0 1 烟酒类
--------------------------------
**/
------解决思路----------------------
SELECT T1.A01,T1.A02,1 A03,T1.A04
FROM TB T1
JOIN master..spt_values T2 ON T2.type='P' AND T2.number<T1.A03