我试图通过计算来自其他表T2和T3的SQL查询的结果来更新表T1。
这是我提出的查询,但它似乎不起作用:
UPDATE T1
set Stock =
(SELECT count(ID_Item)
FROM T2,T3
WHERE T2.ID_Product = T1.ParentSKU AND
T3.ID = T2.ID_Product AND
Stock_Items.Name = '' AND
Stock_Items.Returned = ''
GROUP BY(T3.Size)
)
我要做的是通过计算T2的结果并从T3分组不同的大小来更新T1。
答案 0 :(得分:0)
您需要删除GROUP BY
,如果您的项目有多个大小,则子查询将返回多个结果,并且更新将失败。
UPDATE T1
set Stock =
(SELECT count(ID_Item)
FROM T2 INNER JOIN T3
WHERE T2.ID_Product = T1.ParentSKU AND
T3.ID = T2.ID_Product AND
Stock_Items.Name = '' AND
Stock_Items.Returned = '' AND
T3.Size = T1.Size
)
如果Size不是一个因子,则将其从子查询中完全删除