※ 引述《kosjason (MIMI_Xiao)》之銘言:
: 囧 最近在研究CI
: 研究研究...最基本的SQL都快忘了
: 想請問一下各位大大
: 原始資料
: id name update_id
: 1 test1 1
: 2 test2 1
: 3 test3 2
: 我想要把 update_id 轉成 name as 'update_name'
: 結果資料我希望變成下表
: id name update_id update_name
: 1 test1 1 test1
: 2 test2 1 test1
: 3 test3 2 tset2
: 請問一下SQL有辦法一次下完嗎?
: 可以提供關鍵字給我 讓我自己google即可
: 不知道是不是 join
: 還是用子查詢
: 請各位大大回答這基本問題了...腦袋打結Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.60.47
用 UPDATE FROM SELECT,不過不知道用哪種資料庫所以提兩種參考出來
MYSQL:
update table A
left join table B on
A.update_id = B.id
set
A.update_name = B.name
ANSI SQL:
update table A set A.update_name = B.name
(SELECT name
FROM table B
LEFT JOIN table A ON A.update_id = B.id)
我自己是還有用過硬幹的 UPDATE table A, table B 的做法,不過用在CI裡不需要用太
複雜做法比較好。