2017-02-01 27 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。 。 。 。询问*另一个*问题。不要在评论中提问,也不要在问题得到解答后改变问题(这可能会导致提问降低的答案无效)。 –

相关问题