单个查询中的多个查询写入

时间:2011-05-27 07:41:14

标签: sql

我在数据库中有两个表,我需要从一个表中选择一个字段并在另一个表中使用id相同的条件更新它。是否可以在单个查询中写入???

3 个答案:

答案 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