如何使用SQL中的嵌套查询进行更新

Him*_*ack 2 sql sql-server

我有一个在表上运行的查询,并拉出2个字段.我想采用它们,并使用UPDATE语句,将它们的值用作WHERE和SET.

例如:

select name, address from xxx.....
Run Code Online (Sandbox Code Playgroud)

我想取名字和地址并做到这一点

update yyy 
set fullname=(name I pulled before) 
where address=(address I pulled before)
Run Code Online (Sandbox Code Playgroud)

谢谢

cod*_*ger 8

试一试

Update t
Set t.yyyy = q.Name
From TableToUpdate t
Join AddressTable q on q.Address = t.Address
Run Code Online (Sandbox Code Playgroud)

这假定地址字段(您正在加入)与您要更新的表中的地址字段是一对一的关系

这也可以写

Update TableToUpdate
Set yyyy = q.Name
From AddressTable q
WHERE q.Address = TableToUpdate.Address
Run Code Online (Sandbox Code Playgroud)

由于可以在FROM/WHERE子句中访问更新表,除了它不能别名.