DECLARE @Phones TABLE (DropRate DECIMAL(38,12) ,Country VARCHAR(10) ,MarketingName VARCHAR(50) ,Manufacturer VARCHAR(50))INSERT INTO @PhonesSELECT 0.000000000000,'Denmark','Zoarmon','Intel'UNION ALL SELECT 0.000000000000,'Denmark','USB316','Sierra Wireless'UNION ALL SELECT 0.000000000000,'Denmark','XP3300-AR1 (P25C005AA)','Sonim'UNION ALL SELECT 0.000000000000,'Denmark','700C','Intermec Technologies Corp.'UNION ALL SELECT 4.000000000000,'Denmark','R6230GE','BlackBerry'UNION ALL SELECT 0.000000000000,'Denmark','SGH-S300','Samsung'UNION ALL SELECT 0.000000000000,'Denmark','Treo 600','Palm'UNION ALL SELECT 0.000000000000,'Sweden','Zoarmon','Intel'UNION ALL SELECT 0.000000000000,'Sweden','USB316','Sierra Wireless'UNION ALL SELECT 0.000000000000,'Sweden','XP3300-AR1 (P25C005AA)','Sonim'UNION ALL SELECT 0.000000000000,'Sweden','700C','Intermec Technologies Corp.'UNION ALL SELECT 2.000000000000,'Sweden','R6230GE','BlackBerry'UNION ALL SELECT 0.000000000000,'Sweden','SGH-S300','Samsung'UNION ALL SELECT 0.000000000000,'Sweden','Treo 600','Palm'UNION ALL SELECT 0.000000000000,'Finland','Zoarmon','Intel'UNION ALL SELECT 0.000000000000,'Finland','USB316','Sierra Wireless'UNION ALL SELECT 0.000000000000,'Finland','XP3300-AR1 (P25C005AA)','Sonim'UNION ALL SELECT 0.000000000000,'Finland','700C','Intermec Technologies Corp.'UNION ALL SELECT 2.000000000000,'Finland','R6230GE','BlackBerry'UNION ALL SELECT 0.000000000000,'Finland','SGH-S300','Samsung'UNION ALL SELECT 0.000000000000,'Finland','Treo 600','Palm'SELECT Country, Manufacturer, MarketingName, AvgDropRate=AVG(DropRate)FROM @PhonesGROUP BY Country, Manufacturer, MarketingName
SELECT *, ISNULL(Denmark,0) + ISNULL(Finland,0) + ISNULL(Lithuania,0) + ISNULL(Norway,0) + ISNULL(Sweden,0) AS Total FROM (SELECT DropRate,MarketingName, Manufacturer, Country FROM tblTest) s PIVOT (AVG(DropRate)FOR Country IN ([Denmark], [Finland], [Lithuania], [Norway], [Sweden]))P
SELECT *, (ISNULL(Denmark,0) + ISNULL(Finland,0) + ISNULL(Lithuania,0) + ISNULL(Norway,0) + ISNULL(Sweden,0)) / 3 AS Total FROM (SELECT DropRate,MarketingName, Manufacturer, Country FROM tblTest) s PIVOT (AVG(DropRate)FOR Country IN ([Denmark], [Finland], [Lithuania], [Norway], [Sweden]))P
/****** Object: Table [dbo].[tblTest] Script Date: 2013-03-05 09:58:12 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[tblTest]( [DropRate] [decimal](38, 12) NULL, [Country] [nchar](10) NULL, [MarketingName] [nvarchar](500) NULL, [Manufacturer] [nvarchar](200) NULL) ON [PRIMARY]GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.547000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.274000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.476000000000 AS Decimal(38, 12)), N'Finland ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.494000000000 AS Decimal(38, 12)), N'Finland ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(0.000000000000 AS Decimal(38, 12)), N'Lithuania ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.513000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.431000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(2.625000000000 AS Decimal(38, 12)), N'Sweden ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.370000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.384000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GOINSERT [dbo].[tblTest] ([DropRate], [Country], [MarketingName], [Manufacturer]) VALUES (CAST(1.337000000000 AS Decimal(38, 12)), N'Denmark ', N'iPhone 3G', N'Apple')GO