У меня есть две таблицы, в которых записаны ежемесячные допуски и OT-допуски, в обеих таблицах есть столбцы Department и Track. Мне нужен отчет, в котором есть все отделы, но отдельные столбцы Track DL, IDL
Я могу сделать это только один трек, но я не могу объединить с колонкой трека в одном запросе. Это мой код
;WITH sums AS
(
SELECT
sum(Monthly.Pay) as Total_Monthly,OT.MealAllowance_OT,Monthly.Dept_Id,Monthly.Dept_Name
FROM
[dbo].[SPCM_TX_MonthlyAllowance] as Monthly
left join ( select Period,sum(MealAllowance_OT) MealAllowance_OT,Dept_Id
from [dbo].[SPCM_Cal_OTLog]
where Track = 'IDL'
group by Period,Dept_Id) OT
on Monthly.Dept_Id = OT.Dept_Id
where Monthly.Track = 'IDL'
GROUP BY
Monthly.Dept_Id, Monthly.Dept_Name,MealAllowance_OT,Monthly.Track
)
SELECT
Dept_Id,Dept_Name,Total_Monthly,MealAllowance_OT,Total_Monthly+MealAllowance_OT AS 'GrandTotal'
FROM
sums
order by GrandTotal desc
Monthly_Table
--------------------------------------------------------------------
EMP_ID | Track | Period | Pay | Dept_Id | Dept_Name |
--------------------------------------------------------------------
1 DL 2019-10-10 400 1A A
2 IDL 2019-10-10 400 1A A
3 DL 2019-10-10 400 1B B
4 IDL 2019-10-10 400 1B B
--------------------------------------------------------------------
OT_Table
EMP_ID | Track | Period | OTHrs| Meallowance_OT | Dept_Id | Dept_Name | Day_Type
--------------------------------------------------------------------------------------------------
1 DL 2019-10-10 5 18 1A A Working_day
2 IDL 2019-10-10 5 18 1A A Weekend
3 DL 2019-10-10 10 18 1B B PublicHoliday
4 IDL 2019-10-10 12 0 1B B Working_day
--------------------------------------------------------------------------------------------------
Результат