推 mywheat:謝謝 Antzzz 的解答 05/30 16:19
※ 引述《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