Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Aktualisierung mit sum()-Ergebnis über mehrere Tabellen hinweg

Sie können kein group by verwenden innerhalb einer Update-Anweisung. Sie müssen eine Unterauswahl verwenden, um die Gruppierung vorzunehmen.

Etwa so:

UPDATE products p,( SELECT products_id, sum(attributes_stock)  as mysum
                   FROM products_attributes GROUP BY products_id) as s

   SET p.products_quantity = s.mysum
  WHERE p.products_id = s.products_id