2011-06-03 65 views
0

我有三個表,如TableA,TableB和TableC。我想從TableC中的列值更新TableA中的一列。但是沒有直接的關係b/w TableA和TableC。但TableB與表A和C都有關係。我如何更新?該表的結構如下:如何使用基於SQL Server中更多表的Update Select語句?

TableA:     TableB:    TableC: 
----------    -----------   ---------- 
    ItemID     ID      ID 
    Name      ItemDetailID   D1 
    Quantity     TotalQty    D2 
    Rate      TotalAmount   D3 
    ItemDetailID    TotalWeight   Quantity 

在這裏,我要更新表A柱「數量」與表C列的值「數量」。 我用兩個表使用Update select語句。但不是這樣。怎麼做?請給點建議...

+0

當你說「但表B有兩個表A和C的關係」什麼是德字段名? – Pankaj 2011-06-03 11:08:06

+0

編號ItemId和ID不同。 – thevan 2011-06-03 11:09:16

+0

如何在這裏發佈表格的SQL語句。這將幫助人們在他們最後立即創建表格並在發佈答案之前測試他們的想法。 – 2011-06-03 11:12:15

回答

3

喜歡的東西:

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 
2
Update a 
Set a.Quantity = c.Quantity 
From TableA a 
Inner Join TableB b on b.ItemDetailId = a.ItemDetailId 
Inner Join TableC c on c.ID = b.ID