Sql 使用条件匹配更新表

Sql 使用条件匹配更新表,sql,join,subquery,Sql,Join,Subquery,大宗报价 我试图用“X”标记所有与表A中Clave_Rel字段和表B中numero_cue字段相匹配的记录。 我在做这样的事情: 更新客户集 ='X'其中clients\u MP\u julio.NUMERO\u CUE=从PAGOS A选择CLAVE\u REL在A.CLAVE\u REL=B.NUMERO\u CUE上内部连接clients\u MP\u julio B 但我收到的信息是: Msg 512,16级,状态1,第1行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达

大宗报价

我试图用“X”标记所有与表A中Clave_Rel字段和表B中numero_cue字段相匹配的记录。 我在做这样的事情:

更新客户集 ='X'其中clients\u MP\u julio.NUMERO\u CUE=从PAGOS A选择CLAVE\u REL在A.CLAVE\u REL=B.NUMERO\u CUE上内部连接clients\u MP\u julio B

但我收到的信息是:

Msg 512,16级,状态1,第1行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。 声明已终止

我明白为什么会有这样的信息,但我不知道如何解决它!很抱歉我是新手!我真的很感激你的帮助,希望有一天我也能帮上忙。
谢谢

您不需要子查询,只需要一个简单的内部联接。语法的问题是,=符号期望右侧有一个值,而子查询返回多个值

请尝试以下操作:

UPDATE
    clientes_MP_julio
SET 
    c.MARCA_X = 'X'
FROM
    clientes_MP_julio AS c
    INNER JOIN
    PAGOS AS p
    ON
        p.CLAVE_REL = c.NUMERO_CUE

你的=应该在。非常感谢!!是吗!!