Sql 同一分支机构同一季度数计算
我需要补充的是,当员工职务X切换到同一分支机构内的不同职务(Y或Z)时,修改他们在该新职务(Y或Z)所在季度的总FTE 因此,逻辑是: 对于位置X到Y 对于位置X到Z 正如您所看到的,我缺少正确执行此操作的一些SQL操作符的知识。如果您能提供任何帮助,我们将不胜感激!Sql 同一分支机构同一季度数计算,sql,Sql,我需要补充的是,当员工职务X切换到同一分支机构内的不同职务(Y或Z)时,修改他们在该新职务(Y或Z)所在季度的总FTE 因此,逻辑是: 对于位置X到Y 对于位置X到Z 正如您所看到的,我缺少正确执行此操作的一些SQL操作符的知识。如果您能提供任何帮助,我们将不胜感激! 请,谢谢 一个粗略的草图,不同的DBMS供应商之间的日期算法有很大差异,所以我使用了您的表达式。我使用了变量:new_emplyee_title作为新标题 update Employees set [Total FTE c
请,谢谢 一个粗略的草图,不同的DBMS供应商之间的日期算法有很大差异,所以我使用了您的表达式。我使用了变量:new_emplyee_title作为新标题
update Employees
set [Total FTE calculated] = case when :new_emplyee_title = Y
then [ expression for Y ]
else [ expression for Z ]
end
where [Position Start Date] between [Q2 start date] AND [Q2 end date]
and [Employee Title] = X
and :new_emplyee_title in (Y,Z);
如果您的DBMS支持触发器,这将非常适合更新触发器。非常感谢!我理解你的逻辑。我将对此进行修改,使其适用于我的用例。干杯
AND IF [Position Start Date] is between [Q2 start date] AND [Q2 end date]
AND [Employee Title] of [Employee ID] was X and is now Z
THEN [Total FTE calculated] = ([Position Start Date] - [Quarter Start Date])/[Days in Quarter]) * [Total FTE])
ELSE [Total FTE Calculated] = [Total FTE] * 1
END
update Employees
set [Total FTE calculated] = case when :new_emplyee_title = Y
then [ expression for Y ]
else [ expression for Z ]
end
where [Position Start Date] between [Q2 start date] AND [Q2 end date]
and [Employee Title] = X
and :new_emplyee_title in (Y,Z);