首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这种SQL合并单据如何写

2013-04-20 
这种SQL合并单据怎么写有一表格单号行号商品数量11a512b513C521a522b523C531a532b533C5现在需要把单号为2、

这种SQL合并单据怎么写
有一表格

  单号  行号  商品  数量    
   1     1    a    5
   1     2    b    5
   1     3    C    5
   2     1    a    5
   2     2    b    5
   2     3    C    5
   3     1    a    5
   3     2    b    5
   3     3    C    5
现在需要把单号为2、3的合并到单号为1中
合并后的效果为:
  单号  行号  商品  数量    
   1     1    a    5
   1     2    b    5
   1     3    C    5
   1     4    a    5
   1     5    b    5
   1     6    C    5
   1     7    a    5
   1     8    b    5
   1     9    C    5
要求简单高效的方法
[解决办法]

----------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-04-18 16:36:50
-- Version:
--      Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 
--Jun 17 2011 00:54:03 
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721)
--
----------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go 
create table [huang]([单号] int,[行号] int,[商品] varchar(1),[数量] int)
insert [huang]
select 1,1,'a',5 union all
select 1,2,'b',5 union all
select 1,3,'C',5 union all
select 2,1,'a',5 union all
select 2,2,'b',5 union all
select 2,3,'C',5 union all
select 3,1,'a',5 union all
select 3,2,'b',5 union all
select 3,3,'C',5
--------------开始查询--------------------------

select CASE WHEN [单号] IN (2,3) THEN 1 ELSE [单号] END [单号],ROW_NUMBER()OVER (ORDER BY GETDATE()) [行号],[商品],[数量]
from [huang]
----------------结果----------------------------
/* 


单号          行号                   商品   数量
----------- -------------------- ---- -----------
1           1                    a    5
1           2                    b    5
1           3                    C    5
1           4                    a    5
1           5                    b    5
1           6                    C    5
1           7                    a    5
1           8                    b    5
1           9                    C    5
*/

热点排行