ACTUALIZACIÓN de MySQL con SELECT SUM de una tabla diferente
Tengo dos mesas:ITEMS
con cantidades y unit_price (id | nombre | order_id | qt | unit_price) y tablaORDERS
.
quieroUPDATE
mesaorders
y colocar enorders.total_price sum of multiplications qt*unit_price
Para los mismos pedidos obtener el precio total del pedido.
losSELECT
la consulta en la tabla de artículos es bastante simple y funciona bien dando sumas para todos los artículos dentro del mismo order_id:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
pero no puedo insertar este valor en miORDERS
mesa. No pude hacer este trabajo:
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
vuelve"Subquery returns more than 1 row"
Encontré una pregunta muy similar.aquí Pero la respuesta no funcionó para mí también:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)