temps infini pour une requête avec jointure
Bonjour
j'ai tenté la requête ci-dessous un Update avec une jointure sur une autre table, je ne comprends pas que ce soit avec un fichier php ou adapté à PhpMyAdmin la requête tourne sans donner de résultat.
calcul du nombre de score supérieur dans la table des "donnes_players" à un score défini de la table "classement_donne"
Code:
1 2 3 4 5 6 7
| //mise à jour du NScoreSup dans classement_donne pour la donne 1
$sql="UPDATE classement_donne AS cl
INNER JOIN donnes_players AS dp
ON dp.id_donnes=cl.id_donnes
SET NscoreSup=(SELECT COUNT(score) FROM donnes_players WHERE dp.score>cl.score AND dp.id_donnes=cl.id_donnes)";
$connexion->query($sql); |
par contre j'ai réalisé ce que je voulais avec des requêtes différentes là il faut 2 secondes pour mettre à jour(avec les affichages qui me permettent de contrôler)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $sql="SELECT DISTINCT id_donnes FROM classement_donne";
$rep=$connexion->query($sql);
while ($donnees = $rep->fetch()){
echo 'id_donnes : '.$donnees['id_donnes']. '<br />';
$sql2="SELECT score FROM classement_donne WHERE id_donnes = ".$donnees['id_donnes'];
$rep2=$connexion->query($sql2);
while ($donnees2 = $rep2->fetch()){
echo 'score : '.$donnees2['score']. '<br />';
$sql3="SELECT COUNT(score)AS NBscoreSup FROM donnes_players WHERE score>".$donnees2['score']." AND id_donnes=".$donnees['id_donnes'];
$rep3=$connexion->query($sql3);
while ($donnees3 = $rep3->fetch()){
echo 'NBscoreSup : '.$donnees3['NBscoreSup']. '<br />';
$sql4="UPDATE classement_donne SET NscoreSup =".$donnees3['NBscoreSup']." WHERE score=".$donnees2['score']." AND id_donnes=".$donnees['id_donnes'];
$connexion->query($sql4);
}
}
} |