|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mai 2005 Messages : 61 ![]() |
Bonjour,
Soit ma table : Je souhaite faire la requête de mise à jour suivante : Ce qui ne marche évidement pas. Des idées? |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Ca représente quoi sum(nb), c'est la somme totale des nb de la table ?
Code :
UPDATE TABLE SET poids = nb/(SELECT sum(nb) FROM TABLE) Une autre approche normalement plus rapide car le calcul de la somme est effectué une fois et pas pour chaque ligne (mais je ne suis pas sûr de la syntaxe): Code :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mai 2005 Messages : 61 ![]() |
oui, en effet, SUM(Nb) correspond à la somme du champs Nb pour toute la table.
Il me semble que les requêtes que tu me proposes ne marchent pas car MySQL ne tolère pas qu'on écrive un select sur la table qui est mise à jour. D' où mon problème... Reste évidement la solution de faire deux requêtes, mais je voudrais savoir si c'est possible de n'en faire qu'une. |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
As tu testé les requêtes proposées ? Apparemment la 1ère tombe dans le cas que tu décris mais pas la 2eme :
Code :
|
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2005 Messages : 61 ![]() |
Merci pour ta persévérance, m'étant fait rembarrer un nombre incalculable de fois par MySQL, j'ai réagit sans tester
Reste que c'est une astuce drôlement maline à mon goût.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com