我在数据库中有两个表,我需要从一个表中选择一个字段并在另一个表中使用id相同的条件更新它。是否可以在单个查询中写入???
答案 0 :(得分:8)
这应该适合你:
update storage
set storage.email = (select register.email
from register
where register.id = storage.id)
答案 1 :(得分:2)
是的,你可以这样做:
UPDATE Origin SET DesiredColumn = NewValue
FROM Origin
JOIN NewTable ON Origin.Id = NewTable.Id
并且猜测列名称与更新表中的DesiredColumn
相似,而NewValue
中的列new value
则包含{{1}}。
答案 2 :(得分:-1)
是的,这是可能的,尽管语法取决于您使用的SQL类型。
以下是T-SQL(适用于Microsoft SQL Server)的示例
UPDATE
S
SET
Email = R.Email
FROM
dbo.Register R
INNER JOIN dbo.Storage S
ON S.RegisterID = R.RegisterID