首页 > 解决方案 > 使用另一个表中的信息更新 SQL Server 中的表

问题描述

我有一个“索赔”表。每个索赔都有一个附加的客户,由几个字母“ABED”表示。出于某种原因,在声明表中找不到实际的 clientID,所以我想解决这个问题。“客户”表确实包含代码和客户 ID。如何运行查询,我可以根据代码使用 clientID 更新现有声明?

UPDATE claims 
SET clientID = (SELECT clientID FROM clients WHERE claimID = code) 

在声明表中,客户端的代码称为“claimID”。在客户表中,它被称为代码。

为了清楚起见,我确实在声明表中添加了 clientID 列,它当前为 NULL,我希望用 clients 表中的 clientID 填充它。

标签: sqlsql-serversql-server-2008sql-updatesubquery

解决方案


这是你想要的吗?

update cla
set clientid = (select t.clientid from clients cli where cli.code = cla.claimid)
from claims cla

这将搜索与clientscode匹配的claimidclaims并更新相应的clientid


推荐阅读