首页 > 解决方案 > 当值为 NULL 时从其他表更新 SQL

问题描述

我有以下问题:有一个包含所有客户订单的“订单”表。然而,“emloyee_supervisor”列中有许多值(进行交易的员工的主管的 ID)NULL。相关信息存储在员工自己的表中,即“员工”,在名为“主管”的列中。现在我想更新 NULL(即从“员工”到“订单”的值)。我怎样才能做到这一点?

员工的key是employee_id(在“employees”中用作key),订单的key是order_id。

我正在使用 DBvisualizer。

我不允许分享真实数据,但这就是输入在概念上的样子:

在此处输入图像描述

这是所需的输出(“员工”表当然没有改变)

在此处输入图像描述

标签: sql

解决方案


试试下面的查询。

update o
set o.emloyee_supervisor = e.supervisor
from orders o
inner join employees e
    on e.employee_id = o.employee_id
where o.emloyee_supervisor is null

推荐阅读