SQL更新 - 使用多表连接

时间:2015-04-15 15:24:04

标签: sql

想知道是否有人可以指出我正确的方向。

我有3张桌子......

表A - 代码,Cost1,Cost2,Cost3

表B - 代码,ID

表C - ID,价格

基本上我需要用(Cost1 + Cost2 + Cost3)更新表C上的价格字段 从表A 两个表之间没有直接链接,但A通过代码链接到B,B通过ID链接到C.

我可以编写一个查询来显示价格和总成本,但无法理解如何进行更新。

任何指针都非常受欢迎

由于 安德鲁

1 个答案:

答案 0 :(得分:3)

UPDATE TC
SET Price=(TA.Cost1+TA.Cost2+TA.Cost3) 
FROM TableA TA
INNER JOIN TableB TB ON TA.Code=TB.Code
INNER JOIN TableC TC ON TC.ID=TB.ID

我更喜欢先写出更复杂的连接,然后再更新别名。正如您在示例中所看到的,您可以注释掉前两行并简单地输入SELECT TC.ID,TA.Cost1 + TA.Cost2 + TA.Cost3并确切地看到会发生什么变化。