still you dont know logic to be applied for this? I have given you similar solutions atleast twice before this.declare @table table (x xml)insert @tableselect '<KPICounts><KPICount SiteID="2" TestID="1" TestGroupID="1" GroupName="Production" Name="ga:visitors" DataType="integer" Value="20" /><KPICount SiteID="2" TestID="1" TestGroupID="2" GroupName="Beta" Name="ga:visitors" DataType="integer" Value="5" /><KPICount SiteID="2" TestID="1" TestGroupID="3" GroupName="Control" Name="ga:visitors" DataType="integer" Value="10" /></KPICounts>'union allselect '<KPICounts><KPICount SiteID="2" TestID="1" TestGroupID="1" GroupName="Production" Name="ga:visitors" DataType="integer" Value="5" /><KPICount SiteID="2" TestID="1" TestGroupID="2" GroupName="Beta" Name="ga:visits" DataType="integer" Value="10" /><KPICount SiteID="2" TestID="1" TestGroupID="3" GroupName="Control" Name="ga:visitors" DataType="integer" Value="10" /></KPICounts>'select Name,coalesce([Beta],0) AS [Beta],coalesce([Control],0) AS [Control],coalesce([Production],0) AS [Production],coalesce([Beta],0) +coalesce([Control],0)+coalesce([Production],0) AS [Total]from(select m.n.value('(./@Name)[1]', 'varchar(30)') as Name,m.n.value('(./@GroupName)[1]', 'varchar(30)') as GroupName,m.n.value('(./@Value)[1]', 'int') AS Valuefrom @table tcross apply t.x.nodes('/KPICounts/KPICount')m(n))tpivot (sum(Value) for GroupName IN ([Beta],[Control],[Production]))poutput-----------------------------------------Name Beta Control Production Totalga:visitors 5 20 25 50ga:visits 10 0 0 10------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/