Mise à jour de MYSQL en utilisant le résultat de sum () sur plusieurs tables
Ce bits fonctionne très bien:
SELECT products_id, sum(attributes_stock)
FROM products_attributes
GROUP BY products_id
Qui rassemble tous les groupes de champs dans la attributes_stock
colonne.
Ce que je vais avoir des ennuis avec, est l'obtention de ce résultat à la mise à JOUR d'une autre colonne d'une autre table.
C'est ce que j'ai:
UPDATE products, products_attributes
SET products.products_quantity = sum(products_attributes.attributes_stock) GROUP BY products_attributes.products_id
WHERE products.products_id = products_attributes.products_id
Des conseils très apprécié.
source d'informationauteur windywah
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser un
group by
à l'intérieur d'une instruction de mise à jour. Vous aurez besoin d'utiliser une sous-sélection pour faire le regroupement.Quelque chose comme ceci:
Une faveur, le plus récent de style
JOIN ... ON
syntaxe pour une opération de jointure, contre l'opérateur virgule et le prédicat de jointure dans la clause where:Essayez ceci: