当前位置: 代码迷 >> Sql Server >> 高分求行专列。100分,该怎么处理
  详细解决方案

高分求行专列。100分,该怎么处理

热度:24   发布时间:2016-04-24 19:56:29.0
高分求行专列。。。。100分

id BatchID  BOMItem,BeginDate  EndDate,BeginningStock EndingStock  VGUID
-------------------- ------------------------ ----------------------------------------------------- --------
1,'20131027',  '3605051925592',  '2013-10-27','2013-11-02',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
2,'20131103',  '3605051925592',  '2013-11-03','2013-11-09',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
3,'20131110',  '3605051925592',  '2013-11-10','2013-11-16',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
4,'20131117',  '3605051925592',  '2013-11-17','2013-11-23',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
5,'20131124',  '3605051925592',  '2013-11-24','2013-11-30',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
6,'20131201',  '3605051925592',  '2013-12-01','2013-12-07',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
7,'20131208',  '3605051925592',  '2013-12-08','2013-12-14',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
8,'20131215',  '3605051925592',  '2013-12-15','2013-12-21',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
9,'20131222',  '3605051925592',  '2013-12-22','2013-12-28',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
10,'20131229',  '3605051925592',  '2013-12-29','2014-01-04',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
11,'20140105',  '3605051925592',  '2014-01-05','2014-01-11',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
12,'20140112',  '3605051925592',  '2014-01-12','2014-01-18',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
13,'20140119',  '3605051925592',  '2014-01-19','2014-01-25',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
14,'20140126',  '3605051925592',  '2014-01-26','2014-02-01',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
15,'20140202',  '3605051925592',  '2014-02-02','2014-02-08',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
16,'20140209',  '3605051925592',  '2014-02-09','2014-02-15',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
1,'20131027',  '3605051772882',  '2013-10-27','2013-11-02',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
2,'20131103',  '3605051772882',  '2013-11-03','2013-11-09',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
3,'20131110',  '3605051772882',  '2013-11-10','2013-11-16',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
4,'20131117',  '3605051772882',  '2013-11-17','2013-11-23',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
5,'20131124',  '3605051772882',  '2013-11-24','2013-11-30',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
6,'20131201',  '3605051772882',  '2013-12-01','2013-12-07',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
7,'20131208',  '3605051772882',  '2013-12-08','2013-12-14',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
8,'20131215',  '3605051772882',  '2013-12-15','2013-12-21',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
9,'20131222',  '3605051772882',  '2013-12-22','2013-12-28',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
10,'20131229',  '3605051772882',  '2013-12-29','2014-01-04',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
11,'20140105',  '3605051772882',  '2014-01-05','2014-01-11',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
12,'20140112',  '3605051772882',  '2014-01-12','2014-01-18',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
13,'20140119',  '3605051772882',  '2014-01-19','2014-01-25',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
14,'20140126',  '3605051772882',  '2014-01-26','2014-02-01',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
15,'20140202',  '3605051772882',  '2014-02-02','2014-02-08',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'
16,'20140209',  '3605051772882',  '2014-02-09','2014-02-15',NULL,NULL,'BF98F7E6-6BB1-45A5-B350-062E872953F4'

我想要的效果是把这些数据转换成两行,根据batchid把他们都转换成列。
例如:
BOMItem          week1            week2  week3 week4   一直到batchid转换完
3605051772882    EndingStock的值   。。
3605051772882    EndingStock的值   。。
数据库

------解决方案--------------------
是这样吗:


drop table tb
go


create table tb(
id int,BatchID varchar(20),
BOMItem varchar(30),BeginDate datetime,EndDate datetime,
BeginningStock int,EndingStock int,VGUID varchar(36)
)

insert into tb
select 1,'20131027',  '3605051925592',  '2013-10-27','2013-11-02',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
union all select 2,'20131103',  '3605051925592',  '2013-11-03','2013-11-09',NULL,NULL,'010353CE-F18F-4324-9E0A-0091981EDD23'
  相关解决方案