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

时间:2017-02-01 02:29:58

标签: 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。 任何帮助都会很棒。

1 个答案:

答案 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的引用。您需要在子查询和正在更新的表之间建立连接。