Sql 将表中的字段值添加到其他表中的值

Sql 将表中的字段值添加到其他表中的值,sql,Sql,首先,非常感谢所有试图解决世界各地许多问题的人。 现在我也有一个小问题,我希望它可以很容易地得到回答 我有如下两张桌子 **Table-1** Emp_ID Emp_Name Emp_Address Emp_Deliveries **Table-2** Order_ID Order_Date Emp_ID Delivery_Date Delivery_Status 表2包含所有交付信息,表1包含员工主数据。 现在,我想将表2中每位员工完成的交付数量添加到表1中的Emp_交付字段中。 例如,E

首先,非常感谢所有试图解决世界各地许多问题的人。 现在我也有一个小问题,我希望它可以很容易地得到回答

我有如下两张桌子

**Table-1**
Emp_ID
Emp_Name
Emp_Address
Emp_Deliveries

**Table-2**
Order_ID
Order_Date
Emp_ID
Delivery_Date
Delivery_Status
表2包含所有交付信息,表1包含员工主数据。 现在,我想将表2中每位员工完成的交付数量添加到表1中的Emp_交付字段中。
例如,Emp10001在Emp_Deliveries fielld I表1中的值为3,现在他已经交付了表2中的2份订单,我想将这2份订单添加到表1中的Emp_Deliveries字段中。您能帮我解决这个问题吗。

您可以通过
选择

select e.emp_id, (e.emp_deliveries + coalesce(d.cnt, 0)) as emp_deliveries
from table1 e left outer join
     (select emp_id, count(*) as cnt
      from table2 d
      group by emp_id
     ) d
     on e.emp_id = d.emp_id;
如果要实际更新值,请执行以下操作:

update table1
    set emp_deliveries = (emp_deliveries +
                          (select count(*)
                           from table2
                           where table2.emp_id = table1.emp_id
                          ));

还有其他方法来表达这些查询(特别是第二种)。但是这些都是标准SQL,因此应该在任何数据库中都可以使用。

如何确定表2中的订单是否尚未添加到Emp交货值中?表2中仅包含有关新交货的信息。这是一个临时表,添加后将立即归档。您好,戈登,非常感谢您的解决方案。它工作得很好。但我这里有个小问题。当t1.Emp\u ID=t2.Emp\u ID时,是否可以通过将表2中的字段(产品计数)的值添加到表1中的(Emp\u交付)来更新表1。非常感谢。@Subash。如果表2中有产品计数字段,请使用
sum(product\u count)
而不是
count(*)
。您好,戈登。我尝试了您建议的方法,但失败了。实际上,表2中的产品数量是每个员工的。例如,一名员工可以在一次交付中交付两种产品。因此,我正在寻找一种解决方案,以添加员工交付的产品数量,并添加到表1中的现有产品中。对不起,如果我将您与我的初始问题混淆……我现在发送的是实际需求。