Bonjour,
Je cherche à trouver une requête SQL qui me permettrait de faire ceci:
Dans une table MySQL je souhaite faire la somme de plusieurs colonnes d'une même ligne et inscrire ce resultat dans une autre colonne de ce même tableau.
----------------------------------------------------------------------
| id | date | on_on |on_off | off_on | announcement | vm | total |
=======================================================
| 1 | 2009-07-25 | 4 | 1 | 4 | 1 | 4 | ? |
----------------------------------------------------------------------
| 2 | 2009-07-24 | 3 | 2 | 3 | 2 | 3 | ? |
----------------------------------------------------------------------
| 3 | 2009-07-23 | 2 | 3 | 2 | 3 | 2 | ? |
----------------------------------------------------------------------
| 4 | 2009-07-22 | 1 | 4 | 1 | 4 | 1 | ? |
----------------------------------------------------------------------
J'ai trouver une requête fonctionnelle qui me donne la somme des colonnes par lignes:
id est mon identifiant unique par ligne, donc je groupe les resultats par id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT on_on + on_off + off_on + announcement + vm AS total FROM stats_appels GROUP BY id
Maintenant que j'ai une requête qui me donne les resultats voulu, j'aimerais m'en servir pour updater la colonne 'total' de la même table et c'est la que je bloque.
J'ai essayer ceci:
Mai cela me donne l'erreur ''You can't specify target table 'stats_appels' for update in FROM clause ''
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE stats_appels SET total = (SELECT on_on + on_off + off_on + announcement + vm AS total FROM stats_appels GROUP BY id)
Quelqu'un aurait une idee?
Partager