Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何基于SQL Server中的更多表使用Update Select语句?_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server 如何基于SQL Server中的更多表使用Update Select语句?

Sql server 如何基于SQL Server中的更多表使用Update Select语句?,sql-server,sql-server-2005,Sql Server,Sql Server 2005,我有三张桌子,如表A、表B和表C。我想从TableC中的列值更新TableA中的一列。但与表A和表C没有直接关系。但是表B与表A和表C都有关系。如何更新?各表的结构如下所示: TableA: TableB: TableC: ---------- ----------- ---------- ItemID ID

我有三张桌子,如表A、表B和表C。我想从TableC中的列值更新TableA中的一列。但与表A和表C没有直接关系。但是表B与表A和表C都有关系。如何更新?各表的结构如下所示:

  TableA:                  TableB:               TableC:
 ----------               -----------           ----------
  ItemID                   ID                     ID
  Name                     ItemDetailID           D1
  Quantity                 TotalQty               D2
  Rate                     TotalAmount            D3 
  ItemDetailID             TotalWeight            Quantity
在这里,我想用TableC列值“Quantity”更新TableA列“Quantity”。 我使用UPDATESELECT语句使用两个表。但不是这样。如何做?请给出建议…

类似于:

Update a
set a.Quantity = c.Quantity
from TableA a
join TableB b on b.ItemDetailId = a.ItemDetailId
join TableC c on c.ID = b.ID
比如:

Update a
set a.Quantity = c.Quantity
from TableA a
join TableB b on b.ItemDetailId = a.ItemDetailId
join TableC c on c.ID = b.ID

当您说“但是TableB与表A和表C都有关系”时,字段名是什么?否。ItemId和ID是不同的。在这里发布表的SQL语句怎么样。这将有助于人们在发布答案之前立即创建表格,并测试他们的想法。@Ozair Kafray,你理解这个问题了吗?我不清楚,尤其是b/w表之间的关系,请看一下我从OP那里得到的评论。@SQL:不,我假设,
A
b
by
ItemDetailID
相关,
b
C
by
ID
相关,当你说“但TableB与表A和表C都有关系”时字段名是什么?否。ItemId和ID不同。在这里发布表的SQL语句怎么样。这将有助于人们在发布答案之前立即创建表格,并测试他们的想法。@Ozair Kafray,你理解这个问题了吗?我不清楚,尤其是b/w表的关系,请看一下我从OP得到的评论。@SQL:不,我假设,
A
b
by
ItemDetailID
相关,
b
C
by
ID