Mysql 通过计算另一个表的结果来更新表

Mysql 通过计算另一个表的结果来更新表,mysql,Mysql,我试图通过计算来自另一个表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的结果,即使我知道它不应该。 任何帮助都很好。正确的语法是: UPDATE T1 SET Stock = (SEL

我试图通过计算来自另一个表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的结果,即使我知道它不应该。 任何帮助都很好。

正确的语法是:

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

您不应该在相关子查询中重复对
T1
的引用。您需要在子查询和正在更新的表之间建立连接。

谢谢,这非常有效,但我意识到我需要在select count中从另一个表T3添加一个查询。我该怎么做?@PierreS。再问一个问题。不要在评论中提问,也不要在回答问题后更改问题(这可能会使获得否决票的答案无效)。