CREATE TABLE [ZJSPL] (
[CODE] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[DEP] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LEV] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[OKData] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_ZJSPL] PRIMARY KEY CLUSTERED
(
[CODE],
[DEP],
[LEV]
) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'00', N'采购完成日期', N'2008-1-1')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'01', N'面料', N'OK')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'02', N'里料', N'')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'01', N'设计稿接收日期', N'2008-12-11')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'02', N'打版完成日期', N'2008-12-13')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'03', N'初样完成日期', N'2008-12-14')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'04', N'再样完成日期', N'2008-12-15')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'05', N'齐色完成日期', N'2008-12-16')
select isnull(a.CODE,b.code) as code,
isnull(a.DEP,'') as dep,
isnull(a.LEV,'') as lev,
isnull(a.[Name],'') as [name],
isnull(a.OKData,'') as OKdate,
b.DEP, b.LEV, b.[Name],b.OKData
from (select rid =row_number() over (partition by code order by lev),
*
from [ZJSPL]
where dep = 'cg') a
full join (select rid =row_number() over (partition by code order by lev),
*
from [ZJSPL]
where dep = 'js') b
on a.code = b.code and a.rid = b.rid /*
code dep lev name OKdate DEP LEV Name OKData
-------------------- -------------------- -------------------- -------------------------------------------------- -------------------------------------------------- -------------------- -------------------- -------------------------------------------------- --------------------------------------------------
123456 CG 00 采购完成日期 2008-1-1 JS 01 设计稿接收日期 2008-12-11
123456 CG 01 面料 OK JS 02 打版完成日期 2008-12-13
123456 CG 02 里料 JS 03 初样完成日期 2008-12-14
123456 JS 04 再样完成日期 2008-12-15
123456 JS 05 齐色完成日期 2008-12-16(5 行受影响)
8/
drop table [ZJSPL]
[CODE] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[DEP] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LEV] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[OKData] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_ZJSPL] PRIMARY KEY CLUSTERED
(
[CODE],
[DEP],
[LEV]
) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'00', N'采购完成日期', N'2008-1-1')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'01', N'面料', N'OK')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'02', N'里料', N'')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'01', N'设计稿接收日期', N'2008-12-11')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'02', N'打版完成日期', N'2008-12-13')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'03', N'初样完成日期', N'2008-12-14')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'04', N'再样完成日期', N'2008-12-15')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'05', N'齐色完成日期', N'2008-12-16')
select isnull(a.CODE,b.code) as code,
isnull(a.DEP,'') as dep,
isnull(a.LEV,'') as lev,
isnull(a.[Name],'') as [name],
isnull(a.OKData,'') as OKdate,
b.DEP, b.LEV, b.[Name],b.OKData
from (select rid =row_number() over (partition by code order by lev),
*
from [ZJSPL]
where dep = 'cg') a
full join (select rid =row_number() over (partition by code order by lev),
*
from [ZJSPL]
where dep = 'js') b
on a.code = b.code and a.rid = b.rid /*
code dep lev name OKdate DEP LEV Name OKData
-------------------- -------------------- -------------------- -------------------------------------------------- -------------------------------------------------- -------------------- -------------------- -------------------------------------------------- --------------------------------------------------
123456 CG 00 采购完成日期 2008-1-1 JS 01 设计稿接收日期 2008-12-11
123456 CG 01 面料 OK JS 02 打版完成日期 2008-12-13
123456 CG 02 里料 JS 03 初样完成日期 2008-12-14
123456 JS 04 再样完成日期 2008-12-15
123456 JS 05 齐色完成日期 2008-12-16(5 行受影响)
8/
drop table [ZJSPL]
解决方案 »
- 怎么从XML字段中取出数据?
- 关于SQL的复杂查询问题
- 100分急求:请问这句sql错在了哪里?
- 请问各位高手一个问题?
- 插入sql2005数据库,inert 语句中含有单引号,怎么办啊?
- phantomMan(全力转向 .net 和 数据库方向) :你在吗,能不能帮帮我看看这个sql怎么写
- 求一个存储过程!!高手请进!!!在线等!!
- 麻烦大牛解答一个问题,关于触发器中create视图的问题
- 请问如何一次性快速批量插入多行记录(40w)!能像dts一样高速最好,急问!!!!急问!!!!急问!!!!江湖救急!
- select: 从表a中选择前n个记录,按降序排列,怎么select?
- 请问怎么获得SQL SERVER中的数据的插入时间,是对于已经插入的数据,有没有什么日志可以看到的??
- sql 时间判断?
'row_number' 不是可以识别的 函数名。
2000CREATE TABLE [ZJSPL] (
[CODE] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[DEP] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LEV] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[OKData] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_ZJSPL] PRIMARY KEY CLUSTERED
(
[CODE],
[DEP],
[LEV]
) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'00', N'采购完成日期', N'2008-1-1')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'01', N'面料', N'OK')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'CG', N'02', N'里料', N'')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'01', N'设计稿接收日期', N'2008-12-11')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'02', N'打版完成日期', N'2008-12-13')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'03', N'初样完成日期', N'2008-12-14')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'04', N'再样完成日期', N'2008-12-15')
INSERT INTO ZJSPL(CODE, DEP, LEV, Name, OKData)
VALUES (N'123456', N'JS', N'05', N'齐色完成日期', N'2008-12-16')select isnull(a.CODE,'') as code,
isnull(a.DEP,'') as dep,
isnull(a.LEV,'') as lev,
isnull(a.[Name],'') as [name],
isnull(a.OKData,'') as OKdate,
b.DEP, b.LEV, b.[Name],b.OKData
from (select rid =(select count(1) from [ZJSPL] where lev <c.lev and dep = 'cg'),
*
from [ZJSPL] c
where dep = 'cg') a
full join
(select rid =(select count(1) from [ZJSPL] where lev <d.lev and dep = 'js'),
*
from [ZJSPL] d
where dep = 'js') b
on a.code = b.code and a.rid = b.rid
/*
code dep lev name OKdate DEP LEV Name OKData
-------------------- -------------------- -------------------- -------------------------------------------------- -------------------------------------------------- -------------------- -------------------- -------------------------------------------------- --------------------------------------------------
123456 CG 00 采购完成日期 2008-1-1 JS 01 设计稿接收日期 2008-12-11
123456 CG 01 面料 OK JS 02 打版完成日期 2008-12-13
123456 CG 02 里料 JS 03 初样完成日期 2008-12-14
JS 04 再样完成日期 2008-12-15
JS 05 齐色完成日期 2008-12-16
(5 行受影响)
*/
drop table [ZJSPL]