SQL动态行转列

求解:动态行转列

CREATE TABLE [dbo].test3(
 [id] [bigint] IDENTITY(1,1) NOT NULL,
 [P_ID] [bigint] NOT NULL,
 [day] [varchar](12) NULL,
 [PTime] [datetime] NOT NULL,
 [TimeType] [int] NOT NULL,
 CONSTRAINT test3 PRIMARY KEY CLUSTERED
(
 [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2011-09-01','2011-09-01 07:02:52',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2011-09-01','2011-09-01 12:02:00',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2011-09-01','2011-09-01 13:03:00',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2011-09-01','2011-09-01 17:35:04',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2010-09-2','2011-09-02 07:03:55',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2010-09-2','2011-09-02 12:04:00',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2010-09-2','2011-09-02 13:03:00',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2010-09-3','2011-09-03 07:04:42',1)
INSERT INTO dbo.test3( P_ID, day, PTime, TimeType )VALUES  ( 10004,'2010-09-3','2011-09-03 12:04:15',1)

需要的结果如图片:

 

 

 

 

posted @ 2012-04-11 17:04  yiyan21  阅读(132)  评论(0)    收藏  举报