34,575
社区成员
发帖
与我相关
我的任务
分享
;WITH tb(地点,名称,框序号,盘数量,芯数量)AS(
SELECT 'A','ODF01',1,2,2 UNION all
SELECT 'A','ODF01',2,2,2 UNION all
SELECT 'A','ODF02',1,2,2 UNION all
SELECT 'B','ODF01',1,2,2 UNION all
SELECT 'C','GF01',1,1,1
)
SELECT tb.地点,tb.名称,n1.number AS 框序号,n2.number AS 盘数量,n3.number AS 芯数量 FROM tb
INNER JOIN master.dbo.spt_values AS n1 ON n1.type='P' AND n1.number BETWEEN 1 AND tb.框序号
INNER JOIN master.dbo.spt_values AS n2 ON n2.type='P' AND n2.number BETWEEN 1 AND tb.盘数量
INNER JOIN master.dbo.spt_values AS n3 ON n3.type='P' AND n3.number BETWEEN 1 AND tb.芯数量
/*
地点 名称 框序号 盘数量 芯数量
---- ----- ----------- ----------- -----------
A ODF01 1 1 1
A ODF01 1 2 1
A ODF01 1 1 2
A ODF01 1 2 2
A ODF01 1 1 1
A ODF01 2 1 1
A ODF01 1 2 1
A ODF01 2 2 1
A ODF01 1 1 2
A ODF01 2 1 2
A ODF01 1 2 2
A ODF01 2 2 2
A ODF02 1 1 1
A ODF02 1 2 1
A ODF02 1 1 2
A ODF02 1 2 2
B ODF01 1 1 1
B ODF01 1 2 1
B ODF01 1 1 2
B ODF01 1 2 2
C GF01 1 1 1
*/