作者Antzzz (减肥中请勿喂食)
看板Database
标题Re: [问题] 多重表单计算语法问题
时间Fri May 30 12:26:01 2008
※ 引述《mywheat (麦田)》之铭言:
: 先看 table 与资料
: [TableA]
: Aid Aname ATotel
: 0 汽车 4640
: 1 水上机车 3000
: [TableB]
: Bid Aid Cid Ccount
: 0 0 0 4
: 1 0 1 2
: 2 0 2 4
: 3 0 4 1
: 4 1 2 2
: 5 1 3 1
: [TableC]
: Cid Cname Cmoney
: 0 轮子 500
: 1 後照镜 80
: 2 坐椅 120
: 3 引擎 2000
: TableA 是产品的资料表,TableB 则是表示 A 中的产品是由哪些零件组成
: C 则是所有零件表,也包含其零件价格
: 今天,想要在变更 C 中的价格(Cmoney)後,能够重新计算 A 中的售价(Atotal)
: 这计算 update 的指令该怎麽下比较好呢?
: 目前尝试了几次,都下不好,尚需程式配合。
: 希望能够直接从 SQL 中完成。
: MS SQL 2000
: 请各位多多指教
update TableA
set ATotal = total --ATotel应该是错字吧?我改成ATotal罗
from TableA A
inner join (select B.Aid, sum(B.Ccount*C.Cmoney) total
from TableB B
inner join TableC C on C.Cid = B.Cid
group by B.Aid
) S on S.Aid = A.Aid
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.20.100.62
1F:推 mywheat:谢谢 Antzzz 的解答 05/30 16:19