DECLARE @TEMP TABLE(ID CHAR(1),ODATE VARCHAR(8),OPERCENT FLOAT) INSERT INTO @TEMP(ID,ODATE,OPERCENT) SELECT 'A','20100701',0.71 UNION ALL SELECT 'B','20100701',69.42 UNION ALL SELECT 'C','20100701',67.74 UNION ALL SELECT 'A','20100702',1 UNION ALL SELECT 'B','20100702',2 UNION ALL SELECT 'C','20100702',3; SELECT * FROM @TEMP PIVOT(MAX(OPERCENT) FOR ODATE IN([20100701],[20100702])) AS T