Sql 使用条件匹配更新表
大宗报价 我试图用“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行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。 声明已终止 我明白为什么会有这样的信息,但我不知道如何解决它!很抱歉我是新手!我真的很感激你的帮助,希望有一天我也能帮上忙。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行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达
谢谢 您不需要子查询,只需要一个简单的内部联接。语法的问题是,=符号期望右侧有一个值,而子查询返回多个值 请尝试以下操作:
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
你的=应该在。非常感谢!!是吗!!