如题,比如我现在有一个表A,
A01(流水号) A02(编号) A03(数量) A04(条码)
--------------------------------------------------------------------------------
1 a001 3 14001
。。。
想要得到如下结果:原记录不删除,然后生成三条记录,编号不变,数量全部是1,只有条码是按规律自动增:
A01(流水号) A02(编号) A03(数量) A04(条码)
--------------------------------------------------------------------------------
1 a001 1 14001
2 a001 1 14002
3 a001 1 14003
。。。
------解决方案--------------------
----------------------------------------------------------------
-- Author :DBA_HuangZJ(发粪涂墙)
-- Date :2014-06-17 10:46:42
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
-- Apr 2 2010 15:48:46
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据[A]
if object_id('[A]') is not null drop table [A]
go
create table [A]([A01] int,[A02] nvarchar(8),[A03] int,[A04] int)
insert [A]
select 1,'a001',3,14001
--------------生成数据--------------------------
select ROW_NUMBER()OVER(ORDER BY GETDATE())[A01],A02,1 A03,A04
from [A] CROSS JOIN (SELECT number
FROM master..spt_values
WHERE number >= 1
AND number <= ( SELECT [A03]
FROM a
)
AND [type] = 'P')b
----------------结果----------------------------
/*
A01 A02 A03 A04
-------------------- -------- ----------- -----------
1 a001 1 14001
2 a001 1 14001
3 a001 1 14001
*/
------解决方案--------------------
----------------------------------------------------------------
-- Author :DBA_HuangZJ(发粪涂墙)
-- Date :2014-06-17 10:46:42
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
-- Apr 2 2010 15:48:46
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------