AKTUALIZACJA MySQL z SELECT SUM z innej tabeli
Mam dwie tabele:ITEMS
z ilościami i ceną jednostki (id | nazwa | id_porządku | qt | cena_jednostki) i tabeląORDERS
.
chcęUPDATE
stółorders
i umieść worders.total_price sum of multiplications qt*unit_price
za te same zamówienia, aby uzyskać całkowitą cenę zamówienia.
TheSELECT
zapytanie w tabeli elementów jest dość proste i działa poprawnie, podając sumy dla wszystkich elementów w tym samym id_porządku:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
ale nie mogę wstawić tej wartości do mojegoORDERS
stół. Nie mogłem wykonać tej pracy:
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
powraca"Subquery returns more than 1 row"
Znalazłem bardzo podobne pytanietutaj ale odpowiedź również nie działała dla mnie:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)