Here's one way for sql 2005 and later:with yourTable (xx,yy,zz)as (select 1, 'A', 'M'union all select 1, 'B', 'N'union all select 1, 'C', 'O'union all select 2, 'A', 'P'union all select 2, 'B', 'Q'union all select 2, 'C', 'R'union all select 3, 'A', 'S'union all select 3, 'B', 'T'union all select 3, 'C', 'U')select * from yourTablepivot (max(zz) for yy in ([A], [B], [C])) poutput:xx A B C----------- ---- ---- ----1 M N O2 P Q R3 S T U
Be One with the OptimizerTG