※ 引述《starjou (周星星)》之銘言:
: 有辦法用一行 sql 敘述對一個資料表中的某一列多次更新它的值嗎?
: 我的意思是這樣:
: 表 A 是員工表,表 B 是報酬表
: 表 B 中,一個員工可能有多筆報酬
: 我可以用 SELECT 把表 A 跟表 B JOIN 起來,如果一個員工有多筆報酬,
: 就會有多筆資料,其中員工基本資料的部份是重覆的,報酬的部份則根據表 B
: 而不同
: 但是如果我把這個 JOIN 的 table reference 用在 UPDATE 的時候,
: 然後 SET 表 A 的本月報酬 = 表 A 的本月報酬 + 表 B.報酬
: 一個員工就只會更新一次,表 B 中只有第一筆資料處理到,其它則忽略,
: 也沒有錯誤。
: 變成只能先把資料用 SELECT 抓出來,再跑迴圈一行一行跑 UPDATE 了。
: 請問有辦法一行 SQL 做到嗎?
聽起來需要sum() = =a
有這麼簡單嗎 囧>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.172.157
in sqlserver
update table set col=a.sum_col
from(
select sum(tar_col) as sum_col
from oo
group by xx
) a
....好吧,下次看好是什麼DB再回
※ 編輯: grence 來自: 61.229.209.75 (11/17 15:02)