2017-02-01 77 views
0

我試圖通過從另一個表T2中計算SQL查詢的結果來更新表T1。通過計數來自另一個表的結果更新表

這是我想出了查詢,但它似乎沒有工作:

UPDATE T1 set Stock = (select count (ID_Item) 

FROM T2, T1 

WHERE T2.ID_Product=T1.ParentSKU AND 
    T2.Name='' AND 
    T2.Returned='' 

我對結果得到0,即使我知道這不應該。 任何幫助將是偉大的。

回答

1

正確的語法是:

UPDATE T1 
    SET Stock = (SELECT count(ID_Item) 
       FROM T2 
       WHERE T2.ID_Product = T1.ParentSKU AND 
         T2.Name = '' AND 
         T2.Returned = '' 
       ); 

你不應該重複參考T1在相關子查詢。您需要子查詢和正在更新的表之間的連接。

+0

非常感謝,但我意識到我需要在select count中添加來自另一個表T3的另一個查詢。我怎樣才能做到這一點? –

+0

@PierreS。 。 。 。詢問*另一個*問題。不要在評論中提問,也不要在問題得到解答後改變問題(這可能會導致提問降低的答案無效)。 –

相關問題