Your sample data doesn't make sense, but here is my closest guess, you should be able to figure what you want if this isn't exactly it.DECLARE @Part1 TABLE(DHBService varchar(10), PU varchar(10), Budget decimal(10,2), Admission varchar(10))INSERT @Part1SELECT 'ABC', 'M00', 200, 'Acute' UNION ALLSELECT 'ADC', 'M10', 300, 'Severe'DECLARE @Part2 TABLE(DHBService varchar(10), PU varchar(10), Admission varchar(10), Actuals decimal(10,2))INSERT @Part2SELECT 'ABC', 'M10', 'Severe', 412.88 UNION ALLSELECT 'ADD', 'M12', 'Acute', 333SELECT coalesce(P1.DHBService, P2.DHBService) AS DHBService, coalesce(P1.PU, P2.PU) AS PU, coalesce(P1.Admission, P2.Admission) AS Admission, P1.Budget, P2.ActualsFROM @Part1 P1FULL JOIN @Part2 P2 ON P1.DHBService = P2.DHBService AND P1.PU = P2.PU AND P1.Admission = P2.Admission