看板 Database 關於我們 聯絡資訊
※ 引述《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
LaPass:瞭解了,感謝 06/19 15:36