MySQL UPDATE mit SELECT SUM aus einer anderen Tabelle
Ich habe zwei Tische:ITEMS
mit mengen und stückpreis (id | name | bestell_id | qt | stückpreis) und tabelleORDERS
.
Ich möchteUPDATE
Tabelleorders
und platzieren inorders.total_price sum of multiplications qt*unit_price
Für die gleichen Bestellungen erhalten Sie den Gesamtpreis der Bestellung.
DasSELECT
Die Abfrage in der Artikeltabelle ist recht einfach und funktioniert einwandfrei, wenn für alle Artikel in derselben Bestell-ID Summen angegeben werden:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
aber ich kann diesen Wert nicht in meine einfügenORDERS
Tabelle. Ich konnte diese Arbeit nicht machen:
UPDATE orders, items SET orders.total_price = (SELECT SUM(items.qt*items.unit_price)
FROM items GROUP BY items.order_id) WHERE orders.id = items.order_id
es kehrt zurück"Subquery returns more than 1 row"
Ich fand eine sehr ähnliche FrageHier aber die antwort hat auch bei mir nicht geklappt:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)