2017-06-05 79 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