我有一个带有 的事务表(历史)CreatedDate
,这个事务与员工事务表有关。(transact_id 中的内连接)
话虽如此,问题来了:我需要查询这些表并按月获取状态,因为在一年中,CreatedDate
可能会发生变化。例如,7 月份的员工更新将创建一个新行,但这不应影响 3 月份的总数。
该解决方案看起来像一个forech,但我如何才能在最后加入所有行?结果应该是这样的:
- 一月 - 123 美元
- 二月 - 234 美元
- 三月 - 123 美元
- ...
我得到每个员工的最后状态:
select AllTransact.id_employee, AllTransact.id_department from (
select id_employee, id_department, rank() over (partition by id_employee order by created_date desc) desc_rank
from Transact_Employee TransEmployee
inner join Transact on TransEmployee.ID_Transact = Transact.ID_Transact
and Transact.Status = 8
and Transact.Created_Date < @currentMonth) AllTransact
where desc_rank = 1
*我不想复制并粘贴所有代码 12 次。:)