如何将表中的值添加到另一个表中?

列昂尼德·尼萨诺夫

我有桌子。如何在工资中添加奖金?

在此处输入图片说明

德米特里·比琴科

一般情况下,

  1. 你必须加入 WorkersBonuses查询
  2. 您必须汇总奖金(如果员工有几份奖金怎么办?)。您可能想要sum提高奖金或采取最大的 -max一个。
  3. 你必须处理null- 如果工人没有任何奖金

像这样的东西

select w.WorkerId,
       w.WorkerName,
       w.CompanyId,
       w.Salary + coalesce((select sum(b.Bonus) -- Let's sum up all worker's the bonuses
                              from Bonuses b
                             where b.WorkerId = w.WorkerId), 0) 
  from Workers w

如果你想要update现有的Workers表,同样的原则

update Workers
   set Salary = Salary + coalesce((select sum(b.Bonus)
                                     from Bonuses b
                                    where b.WorkerId = WorkerId), 0);

但是,正如我所见,您and之间具有一对一的关系,这就是为什么会这样做(请参阅Wanderer 的解决方案)。更好的方法是结合表格:WorkersBonusesleft joinWorkersBonuses

    Worker:

      WorkerId 
      WorkerName,
      CompanyId,
      Salary not null,
      Bonus not null default 0 -- <- from Bonuses

因此,您可以将查询简单化为

   select ...
          Salary + Bonus
     from Workers 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将一个表中的值添加到另一表中的特定行?

如何将另一个表中的字段添加到左连接查询 MS Access

将一个表中的列添加到另一个表

将一个表的ID添加到另一个表中以获取特定值mysql

如何将数据添加到另一个表中具有空值的列中?

如何根据唯一 ID Nr 将工作表 1 中的值添加到同一 Excel 文件中的另一个工作表?

如果Android中已经有多个表,如何将另一个表添加到数据库中?

如何在一个表中将NEW值与另一个表中的值添加到第三个表中?

将数据添加到另一个表的用户ID表中

如何将工作表从Excel文件添加到另一个文件?

如何将另一个孩子添加到响应数据表

如何将一个对象添加到另一个对象的值中

如何将一个数组中的值添加到另一个数组?

如何将来自一个表模型的HTML表数据中的记录添加到另一个表模型中?

如何对“透视表”列的值求和并将其添加到另一个“透视表”列中

将另一个表中的字段添加到结果中

如何将键 1 的值添加到字典中的另一个键中以构建数组?

将表中的值(行)添加到另一个仅用于匹配变量

如何将值从数组中的对象添加到另一个数组中的另一个对象?

Mysql将另一个表添加到Join中

如何从CSV / Excel中的查找ID号将一个表中的数据列添加到另一个表中?

如何将表中的值保存到另一个表中

动态数据透视表-如何将生成的列添加到另一个表?

如何将另一个DataFrame中的值添加到与列匹配的行上?

如何将保存在文件中的值添加到另一个变量?

如何将数据类字段的所有值添加到另一个列表中

如何在R中将一个表中的值列表添加到另一个表中?

将表中的值添加到另一个表中,并与文本框中的值组合

如何创建将一个表中的序列号添加到另一个表中的INSERT查询