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:

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
id est mon identifiant unique par ligne, donc je groupe les resultats par 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:

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)
Mai cela me donne l'erreur ''You can't specify target table 'stats_appels' for update in FROM clause ''

Quelqu'un aurait une idee?