none
使用內部查詢值update 外部table欄位 RRS feed

  • 問題

  • 請問我有 2 個 TABLE , A及B

    A 中有兩個欄位 , K1 , K2 

    B 中有兩個欄位 old , new

    想用 B 中 old 與 A 中K1 相同的列的 new 值更新 A中的 K2 欄位 , 

    請問 UPDATE 的 SQL 要如何寫 ?

    例如 : A 中有 (1 , test1 ) , (2 ,test2) 兩筆 ; B中有 (1 , new1) , (2, new2) 兩筆 ,

    希望更新後 , A 變成  (1 , new1) , (2, new2) 

    我用

    UPDATE A

    SET A.K2=

    (SELECT new FORM A, B

    WHERE A.K1 = B.old)

    卻一直出現 err , "子查詢傳回不只 1 個值。這種狀況在子查詢之後有 =、!=、<、<=、>、>= 或是子查詢做為運算式使用時是不允許的"

    但我用 SELECT new from B , 與 SELECT DISTINCT new from B 傳回列數相同 , 應該是一個 old 值也只會有一個 new 值

    想請教高手要如何寫此 SQL , 達到此目的 , 謝謝


    2014年2月18日 上午 05:02

解答