MySQL mise à JOUR avec sélection de la SOMME provenant de différentes tables

J'ai deux tables:
ITEMS les quantités et les unit_price (id | nom | order_id | qt | unit_price)
et le tableau ORDERS.

Je veux UPDATE table orders et les placer dans orders.total_price sum of multiplications qt*unit_price pour les mêmes commandes pour obtenir prix total de la commande.

La SELECT requête sur la table des articles est très simple et fonctionne très bien donner les sommes de tous les articles dans la même order_id:

SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id

mais je ne peux pas insérer cette valeur dans mon ORDERS table. Je ne pouvais pas faire ce travail:

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

il retourne "Subquery returns more than 1 row"

J'ai trouvé une question très semblable ici mais la réponse n'a pas fonctionné pour moi aussi:

UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)
s'il vous plaît montrer votre requête complète de ce que vous faites comme mysql_query("requête")
Je l'ai fait pour l'instant dans phpmyadmin donc la deuxième requête ci-dessus est le réel de la requête j'essaie: "mise à JOUR des commandes, des éléments de commande.total_price = (SELECT SUM(éléments.qt*les éléments.unit_price) DU GROUPE éléments PAR éléments.order_id) OÙ les commandes.id = éléments.order_id"

OriginalL'auteur Milosz | 2012-09-23