2014-10-02 83 views
0

塊引用更新表條件匹配

我想用「X」所有numero_cue從表B. 我在做這樣的事情相匹配表A中的字段Clave_Rel的記錄標記:

UPDATE SET clientes_MP_julio MARCA_X = 'X' WHERE clientes_MP_julio.NUMERO_CUE =(SELECT CLAVE_REL FROM PAGOS甲INNER JOIN clientes_MP_julio乙ON A.CLAVE_REL = B.numero_cue)

但是我收到消息:

Msg 512,Level 16,State 1,Line 1 子查詢返回的值超過1。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。 該聲明已被終止。

我明白了爲什麼這個消息,但我不知道該如何解決它!對不起......我是新來的!我非常感謝你的幫助,希望有一天我能幫上忙。 謝謝!

+0

你'='可能應該是'IN'。 – 2014-10-02 21:40:33

+0

非常感謝!是的! – Marcos 2014-10-02 21:59:09

回答

0

你不應該需要子查詢,只需要一個簡單的內連接。您的語法問題是,=符號需要右側的單個值,而子查詢正在返回多個值。

嘗試以下操作:

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