Something like:select a.LDZName, b.Alpha, b.Beta, a.[Met Office] a.MeteoGroup a.[UK Metra]From (select * from (SELECT ProviderName ,LDZName ,convert(decimal(18,2), CoefficientValue) as Weight FROM [WeatherDB].[dbo].[DerivedWeatherWeights] as w inner join dbo.LDZMapping as ldzm on ldzm.LDZID = w.LDZID inner join dbo.WeatherProviderId as WPI on WPI.ProviderId = w.ProviderId where ReferenceDateTime = '2009-12-10 08:00' ) as b pivot ( avg(Weight) FOR ProviderName IN ([Met Office],[MeteoGroup UK],[Metra]) ) AS pvt) aLEFT JOIN (select LDZName, Alpha, Beta from (SELECT LDZName, CoefficientName, CoefficientValue as Weight FROM [WeatherDB].[dbo].[DerivedWeatherWeights] as w inner join dbo.LDZMapping as ldzm on ldzm.LDZID = w.LDZID inner join dbo.CoefficientId as CI on CI.CoefficientId = w.CoefficientId where ReferenceDateTime = '2009-12-10 08:00' and ProviderId = 5 ) as b pivot ( avg(Weight) FOR CoefficientName IN ([Alpha],[Beta]) ) AS pvt) bON b.LDZName = a.LDZNameorder by a.LDZName