Re: [SQL ] 依條件 UPDATE 多行

看板Database作者 (run and fall)時間11年前 (2014/06/19 14:56), 11年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《LaPass (LaPass)》之銘言: : 資料庫名稱: MySQL : 資料庫版本: 不確定,但版本不會太新 : 內容/問題描述: : tablea : id name num : 1 AA 5 : 4 BB 6 : 5 CC 7 : tableb : id aid name num : 1 1 AA 0 : 2 4 BB 0 : 3 5 CC 0 : 有沒有辦法只靠一行SQL : 就把tablea的num,依照 tablea.id=tableb.rid的條件,寫到tableb的num : 希望最後會變成下面這樣 : tableb : id aid name num : 1 1 AA 5 : 2 4 BB 6 : 3 5 CC 7 UPDATE tableb SET num=(SELECT num FROM tablea WHERE tablea.id=tableb.aid) WHERE EXISTS(SELECT 1 FROM tablea WHERE tablea.id=tableb.aid) 這句在Oracle可行,不確定在Mysql可不可,但都基本的SQL應該通用, 重點在於等號後面的子查詢,和限定條件有存在於tablea的才UPDATE, 要注意的是要確保此子查詢只會回傳1 row,否則會報錯, 供參考~ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.8.205 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1403160996.A.EA1.html ※ 編輯: bohei (211.75.8.205), 06/19/2014 14:56:52

06/19 15:36, , 1F
瞭解了,感謝
06/19 15:36, 1F
文章代碼(AID): #1JeecawX (Database)
文章代碼(AID): #1JeecawX (Database)