gpt4 book ai didi

sql - 使用连接更新表,如果不存在则为 NULL

转载 作者:行者123 更新时间:2023-11-29 12:36:13 25 4
gpt4 key购买 nike

我有一个包含 pid_name 列 varchar(40) 的主表,我想用另一个表进程中的 pname 更新那个 pid_name 列。
进程表有 2 列 pid 和 pname,有 100 个不同的行。

来自主表的 pid 有超过 50K 个不同的 pid_name 值。我想用进程表中的所有值和进程表中不存在的 NULL 更新 pid_name。
我正在使用 Redshift 数据库。提前致谢
示例数据

Master Table before update
ID Pid_name
1 abc
2 def
3 ghi

processes table
pid pname
abc Process_1
def Process_2

Expected output in Master table after update
ID Pid_name
1 Process_1
2 Process_2
3 NULL (Since it does not exist in processes table)

最佳答案

UPDATE master
SET pid_name =
(SELECT pname
FROM processes p
WHERE p.pid = master.pid_name);

关于sql - 使用连接更新表,如果不存在则为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40723656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com