2017-06-05 84 views
1
一行

我建立销售软件的点在PHP子查询返回不止

所以我保存在名为tempsales一个临时表中,车中的项目,然后用更新项目的全部数量新的数量。只是一个查询,使用下面这给了我子查询的代码,返回:

多行错误

UPDATE items SET quantity = quantity - 
    (SELECT quantity FROM tempsales ORDER BY id ASC) 
WHERE id IN 
    (SELECT id FROM ORDER BY I'd ASC) 
+0

的问题是,你的子查询'(选择购买数量从tempsales ORDER BY ID ASC)'返回比结果更多,所以你不能做减法 – Ollaw

+0

我认为这个问题解决您的问题。 https://stackoverflow.com/questions/5727827/update-one-mysql-table-with-values-from-another –

回答

0

它看起来像你想在你items更新行的残局表基于您的tempsales表中的行。我想你想匹配id的值。这需要在您的UPDATE查询中使用JOIN语法,就像这样。

UPDATE items 
    JOIN tempsales ON items.id = tempsales.id 
     SET items.quantity = items.quantity - tempsales.quantity