Sql server 如何基于SQL Server中的更多表使用Update Select语句?
我有三张桌子,如表A、表B和表C。我想从TableC中的列值更新TableA中的一列。但与表A和表C没有直接关系。但是表B与表A和表C都有关系。如何更新?各表的结构如下所示: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
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
byItemDetailID
相关,b
与C
byID
相关,当你说“但TableB与表A和表C都有关系”时字段名是什么?否。ItemId和ID不同。在这里发布表的SQL语句怎么样。这将有助于人们在发布答案之前立即创建表格,并测试他们的想法。@Ozair Kafray,你理解这个问题了吗?我不清楚,尤其是b/w表的关系,请看一下我从OP得到的评论。@SQL:不,我假设,A
与b
byItemDetailID
相关,b
与C
byID