Fonction d'agrégation dans une requête de mise à jour SQL
La question cherche à comprendre comment les fonctions d'agrégation, telles que SUM, peuvent être utilisées dans la mise à jour SQL requêtes. L'exemple fourni tente de mettre à jour une valeur dans une table en fonction de la somme des valeurs d'une autre table. Cependant, elle se heurte à la limitation selon laquelle les instructions SET ne prennent pas en charge SUM et GROUP BY.
Pour résoudre ce problème, la solution utilise une sous-requête pour calculer la somme, puis utilise le résultat dans la requête de mise à jour. L'extrait de code suivant illustre l'approche corrigée :
UPDATE t1 SET t1.field1 = t2.field2Sum FROM table1 t1 INNER JOIN (select field3, sum(field2) as field2Sum from table2 group by field3) as t2 on t2.field3 = t1.field3
Dans cette requête corrigée :
En employant une sous-requête, cette approche répond efficacement aux limitations des instructions SET et permet l'utilisation de fonctions d'agrégation dans les requêtes de mise à jour.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!