日期:2014-05-18 浏览次数:20776 次
---------建立测试数据(MSSQL2000)
if exists (select * from sysobjects where id = object_id(N'table1') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
drop table table1
end
GO
CREATE TABLE [table1] (
[系统单号] [int] NOT NULL ,
[系统行号] [int] NULL ,
[系统款号] [int] NULL ,
[箱号] [varchar] (6000) COLLATE Chinese_PRC_CI_AS NULL ,
[颜色] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[尺码] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[数量] [numeric](20, 8) NULL
) ON [PRIMARY]
GO
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','215',1.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','220',1.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','225',2.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','230',1.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','235',1.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','240',NULL)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','245',NULL)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16030,15761,'662#16030','白色','250',NULL)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16031,15762,'662#16031','白色','21',1.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16031,15762,'662#16031','白色','22',2.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16031,15762,'662#16031','白色','23',3.00000000)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16031,15762,'662#16031','白色','24',NULL)
Insert table1 (系统单号,系统行号,系统款号,箱号,颜色,尺码,数量) Values ( 662,16031,15762,'662#16031','白色','25',NULL)
go
select * from table1
go
-------由上面的表,以(系统单号,系统行号,系统款号,箱号,颜色)作为分组,以尺码不同分配一个流水号,
-------流水号不够10行补满10行,补上的尺码和数量显示为NULL
-------要得到的查询结果
/*
Num 系统单号 系统行号 系统款号 箱号 颜色 尺码 数量
----------------------------------------------
1 662 16030 15761 662#16030 白色 215 1.00000000
2 662 16030 15761 662#16030 白色 220 1.00000000
3 662 16030 15761 662#16030 白色 225 2.00000000
4 662 16030 15761 662#16030 白色 230 1.00000000
5 662 16030 15761 662#16030 白色 235 1.00000000
6 662 16030 15761 662#16030 白色 240 NULL
7 662 16030 15761 662#16030 白色 245 NULL
8 662 16030 15761 662#16030 白色 250 NULL
9 662 16030 15761 662#16030 白色 NULL NULL
10 662 16030 15761 662#16030 白色 NULL NULL
1 662 16031 15762 662#16031 白色 21 1.00000000
2 662 16031 15762 662#16031 白色 22 2.00000000
3 662 16031 15762 662#16031 白色 23 3.00000000
4 662 16031 15762 662#16031 白色 24 NULL
5 662 16031 15762 662#16031 白色 25 NULL
6 662 16031 15762 662#16031 白色 NULL NULL
7 662 16031 15762 662#16031 白色 NULL NULL
8 662 16031 15762 662#16031 白色 NULL NULL
9 662 16031 15762 662#16031 白色 NULL NULL
10 662 16031 15762 662#16031 白色 NULL NULL
*/
if exists (select * from sysobjects where id = object_id(N'table1') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
drop table table1
end
GO
CREATE TABLE [table1] (
[系统单号] [int] NOT NULL ,
[系统行号] [int] NULL ,
[系统款号] [int] NULL ,
[箱号] [varchar] (6000) COLLATE Chinese_PRC_CI_AS NUL