visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-01-10 : 10:36:57
|
[code]create table #p([ID] int,[Actual_Column] varchar(100), [Temp_Column] varchar(100),[Value] int)INSERT #pSELECT 1, 'First', 'Q1',null union allSELECT 2, 'Second(A)', 'Q2(a)', 1 union allSELECT 3, 'Second(B)', 'Q2(b)', 2 union allSELECT 4, 'Second(C)', 'Q2(c)', 3 union allSELECT 5, 'Third', 'Q3',nullcreate table #q([QID] int,[Q1] varchar(100),[Q2(a)] varchar(100),[Q2(b)] varchar(100),[Q2(c)] varchar(100),[Q3] varchar(100))insert #qSELECT 1, 'Idea', 1, '-', '-', 'Idea1' union allSELECT 2, 'RPG','-' , 1, 1, 'RPG1' union allSELECT 3, 'TATA', '-', '-', 1, 'TATA1' union allSELECT 4, 'Uninor', 1, 1, 1, 'Uninor1' union all SELECT 5, 'Cell', 1, '-', 1, 'Cell1'select [First], [Second(A)] ,[Second(B)], [Second(C)], [Third]from(select p.[Actual_Column],COALESCE(NULLIF(CASE WHEN ISNUMERIC(m.val)=1 AND m.val<> '-' THEN CAST(m.val * p.[Value] AS varchar(10)) ELSE CAST(m.val AS varchar(10)) END,'0'),'-') AS val,QIDfrom(select *from #qunpivot ( val for cat in ([Q1], [Q2(a)] ,[Q2(b)], [Q2(c)] ,[Q3]) )u )minner join #p pon p.[Temp_Column] = m.cat)rpivot (max(val) for [Actual_Column] in ([First], [Second(A)] ,[Second(B)], [Second(C)], [Third] ))pvtdrop table #pdrop table #qoutput----------------------------------First Second(A) Second(B) Second(C) ThirdIdea 1 - - Idea1RPG - 2 3 RPG1TATA - - 3 TATA1Uninor 1 2 3 Uninor1Cell 1 - 3 Cell1[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|