09-08-2011, 10:30 PM
(09-08-2011, 10:21 PM)Akira777 a écrit : C'est beau tout ça, mais ça ne règle pas le problème...
Quel problème ?
(09-08-2011, 08:04 PM)Akira777 a écrit : Ma table (fictive) 'joueurs' à les champs suivants 'id', 'password', 'mail', 'login', 'argent', 'village', 'guilde', 'competences'.
Je stocke les infos 'competences' de la manière présenté ici : 150-300-427-1000 pour vie, force, rapidite, fatigue.
Si je veux récupérer la liste décroissante des joueurs qui ont le plus de force, puis-je faire :
"SELECT * FROM joueurs WHERE SUBSTR('competences', 4, 7) ORDER BY SUBSTR('competences', 4, 7) DESC" ?
Sachant que la force peut dépasser 3 caractères, donc mon SUBSTR serait SUBSTR('competences', 4, 8) pour une force de 1500 par exemple.
Du coup, on peut corriger ce problème là en mettant les données de la forme 000150-000300-000427-001000.
C'est une aberration. Si tu as besoin de faire des tris sur ces attributs, il faut passer par une colonne dédiée.