Вы должны использовать подзапрос на T2, чтобы получить суммы по группам.Затем вы внешне соединяетесь с T1, чтобы включить несовпадающие строки.Я догадался по математике и по умолчанию.Например, почему Pay / MealAllowance считается равным 400, если в T1 нет записи.
declare @T1 table (Emp_Id int, TRA varchar(3), Pay int)
declare @T2 table (Emp_Id int, DayTy varchar(3), MealAllowance int)
insert into @T1
values (1,'DL',400),(2,'IDL',400),(5,'IDL',400)
insert into @T2
values (1,'DL',18),(2,'IDL',136),(2,'IDL',136),(4,'IDL',136)
select isnull(T1.Emp_Id,T2.Emp_Id) Emp_Id,isnull(T1.TRA,T2.DayTy) DayTY
,isnull(Pay,400) MealAllowance_Mont, isnull(MealAllowance,0) MealAllowance
,isnull(Pay,400) + isnull(MealAllowance,0) Tot, getdate() period
from @T1 T1
full outer join
(
select Emp_Id, DayTy,sum(MealAllowance) MealAllowance
from @T2
group by Emp_Id, DayTy
) T2
on T1.Emp_Id = T2.Emp_Id
and T1.TRA = T2.DayTy