作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] MySQL UPDATE 的问题
时间Sat Nov 17 09:01:10 2007
※ 引述《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)