Comment ajouter 1 ligne a chaque group ID

Petit nouveau ! | 1 Messages

10 juil. 2022, 08:33

Bonjour,

Je vous explique de mieux que je peux.

J’ai une TABLE qui s'appelle stock_available qui contient ceci

Image

Comment toute prendre et insérer dans ma table 2 qui s'appelle update_ stock_available et ajouter 1 ligne pour chaque id_product. Faire un sum(quantity).

Ce qui donnerait ceci au final, id_product_attribute 0 donne le total des quantity par groupe id_product.

Image

Quelqu’un pourrait me donner un bout de code ou indice comment je pourrai faire ceci.

ynx
Mammouth du PHP | 586 Messages

11 juil. 2022, 12:28

Bonjour,

Tu pourrais commencer par faire une première requête SELECT pour récupérer la somme des quantités par produit, par exemple
SELECT id_product, SUM(quantity) AS total FROM stock_available WHERE id_product_attribute <> 0 GROUP BY id_product;

Puis faire une requête INSERT pour chaque résultat de la première requête.

Généralement, on recommande de ne pas insérer des données calculés à partir d'autres données de la base. Dans ton cas, si on modifie une quantité pour un produit, il faudra alors recalculer la somme des quantités pour ce produit.
Au lieu d'insérer la somme dans ta table, tu pourrais recalculer cette somme à partir des données déjà présentes à chaque fois que tu en as besoin.