如何在两个表上更新

时间:2013-08-11 05:07:45

标签: sql windows

我需要根据其他信息在表格中进行更新。 如何进行? 我的情况是:

我有一个列iniciantes表MEMB_INFO 我需要进行更新 MEMB_INFO SET iniciantes = 0 但是我需要在WHERE表列上查询重置字符表

示例:

UPDATE    MEMB_INFO
SET              iniciantes = 0
FROM         MEMB_INFO CROSS JOIN
                      Character
WHERE     (Character.Resets >= 100)

必须更新memb_info仅在参考字符大于或等于100的情况下发生

2 个答案:

答案 0 :(得分:1)

简单地说,将MEMB_INFO与您的Character表一起加入并指定他们的关系:

update m
set iniciantes = 0
from MEMB_INFO m
    inner join Character c on
    c.Resets >= 100 
    AND m.CharacterId = c.CharacterId  --Specify your tables' relations.

答案 1 :(得分:0)

您必须指定要加入这两个表的列。如果两个表中都有characterId列,则查询将为:

update MEMB_INFO set
    iniciantes = 0
from MEMB_INFO as m
where
    m.CharacterId in (
        select c.CharacterId from Character as c where c.Reset >= 100
    )