我有一个包含员工详细信息的SQL表,我的问题是我有三个单独的updates语句,我想将它们放在一起,以便创建一个过程来更新该表,使其显示工资(包括奖金)和最近的工资日期(使用另一个奖金表
1]更新雇员_1集合雇员_1.薪金=(从奖金_1中选择总和(奖金_1.奖金金额),其中雇员_1.雇员标识=奖金_1.雇员标识按奖金_1.雇员标识分组);
2]更新雇员_1集合雇员_1.last_bonus_date =(从bonus_1中选择最大值(bonus_1.bonus_date),其中雇员_1.employee_id =bonus_1.employee_id按bonus_1.employee_id分组);
3]更新employee_1设置薪资=薪资+旧薪资;
我基本上需要合并这些更新语句,以便我可以在一个过程中使用它
2条答案
按热度按时间gkl3eglg1#
您应该发布表的描述和示例数据来说明问题。
在我看来,似乎一条
MERGE
语句就完成了全部工作(例如,将3个查询合并为1个):ruarlubt2#
可以使用
MERGE
语句并在USING
子句中执行聚合: