首页 > 解决方案 > sql server 在现有列中插入值

问题描述

我有一个员工表如下

表员工

我想在我使用查询创建的现有列 [manager] 中插入值 4,3,7,8,4,12,10,10,6,NULL,3,10

ALTER TABLE employee ADD manager INT NULL;

标签: sql-serverinsertsql-update

解决方案


您需要以下内容,构造显式值列表,然后在更新中简单地加入它

with d as (
    select *
    from (
        values
        (1,4),
        (2,3),
        (3,7),
        (4,8),
        (5,4),
        (6,12),
        (7,10),
        (8,10),
        (9,6),
        (11,3),
        (12,10)  
    )x(emp_id,manager)
)
update e set
    e.manager=d.manager
from d join Employee e on e.emp_id=d.emp_id

推荐阅读