1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| with bossSeq as ( select 1 as id, 'cutman' Seq1 , 'snowman' Seq2 , 'gbyeman' Seq3 , 'fireman' Seq4 , 'rockman' Seq5 union select 2 as id, 'snowman' Seq1 , 'cutman' Seq2 , null Seq3 , null Seq4 , null Seq5 union select 3 as id, 'cutman' Seq1 , 'fireman' Seq2 , 'gbyeman' Seq3 , null Seq4 , null Seq5 union select 4 as id, 'rockman' Seq1 , 'fireman' Seq2 , 'gbyeman' Seq3 , 'snowman' Seq4 , 'cutman' Seq5 union select 5 as id, 'fireman' Seq1 , 'rockman' Seq2 , 'snowman' Seq3 , 'gbyeman' Seq4 , null Seq5 ) , unpivotBossSeq as ( select id , boss , replace(Seq , 'seq' , '') as Seq from bossSeq unpivot ( boss for Seq in (Seq1,Seq2,Seq3,Seq4,Seq5) ) as unpivotBossSeq ) select * from unpivotBossSeq pivot ( max(boss) for Seq in([1],[2],[3],[4],[5]) ) pivotBossSeq
|