que tiene dos tablas: ITEMS
con cantidades y UNIT_PRICE (id | nombre | order_id | qt | UNIT_PRICE) y mesa ORDERS
.MySQL UPDATE con SELECT SUM de diferentes mesa de
Quiero UPDATE
tabla orders
y lugar en orders.total_price sum of multiplications qt*unit_price
para los mismos pedidos para obtener el precio total del pedido.
La consulta SELECT
en la tabla de artículos es muy simple y funciona sumas de donaciones por todos los materiales dentro de la misma order_id:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
pero no puedo insertar este valor en mi mesa ORDERS
. No podía 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"
me encontré con una pregunta muy similar here 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)
por favor muestre su consulta completa de lo que está haciendo como mysql_query ("consulta") –
Lo estoy haciendo por ahora en phpmyadmin así que la segunda consulta anterior es la consulta real que trato: "ACTUALIZAR pedidos, artículos SET orders.total_price = (SELECT SUM (items.qt * items.unit_price) FROM items GROUP BY items.order_id) WHERE orders.id = items.order_id " – Milosz