Full Solution:
CREATE table Expected
(
Idno Int,
Amount decimal,
Month int,
Year int
)
GO
CREATE table Actual
(
Idno Int,
Amount decimal,
Month int,
Year int
)
GO
insert into Expected values(001,500,08 ,2014)
insert into Expected values(002,600,08 ,2014)
insert into Expected values(003,400,08 ,2014)
insert into Expected values(001,500,09 ,2014)
insert into Expected values(002,600,09 ,2014)
insert into Expected values(003,400,09 ,2014)
insert into Expected values(001,500,10 ,2014)
insert into Expected values(002,600,10 ,2014)
insert into Expected values(003,400,10 ,2014)
GO
insert into Actual values(001,500,08,2014)
insert into Actual values(002,600,08,2014)
insert into Actual values(003,400,08,2014)
insert into Actual values(001,0 ,09,2014)
insert into Actual values(002,450,09,2014)
insert into Actual values(003,400,09,2014)
insert into Actual values(001,250,10,2014)
insert into Actual values(002,120,10,2014)
insert into Actual values(003,400,10,2014)
GO
SELECT e.Idno, e.Month, e.Year, e.Amount AS Exp_Amt, A.Amount AS Act_Amt, (e.Amount - a.Amount) As Variance
FROM Expected e INNER JOIN Actual a
ON e.Idno = a.Idno and e.Month = a.Month
ORDER BY e.Month