Aide pour requêtes site de booling

Aide pour requêtes site de booling - SQL/NoSQL - Programmation

Marsh Posté le 15-01-2007 à 15:37:02    

Bonjour,
 
J'ai un site perso où je place des résultats de parties de booling. J'ai ainsi une table générale constituée ainsi :
 
Table Scores :
 
Name|a1|b1|a2|b2|a3|b3|a4|b4|a5|b5|a6|b6|a7|b7|a8|b8|a9|b9|a10|b10|
--------------------------------------------------------------------------
Toto |X |    |6  |1 |2  | / | X|   | X |   | 9 |   | / | X| 7 | / | 3 | /| X  |     |
Titi....
 
 
 
Les colonnes de la table sont : Name (chaine de textes), a1, b1, a2, b2... etc. J'utilise mysql comme logiciel de BD.
 
Ce qui m'intéresse est de ressortir les stats suivantes :
 
 
      | Nb de strikes | Nb de doubles (2 strikes à la suite) | Nb de triples | Nb de quadruples.... | | | Nb de spares|
-----------------------------------------------------------------------------------------------------------
Toto|                   |                                                |                   |                             | | |
Titi  |...
 
 
Pourriez-vous m'aider à écrire les requêtes SQL ? J'ai en effet bcp de mal.
 
Merci d'avance.
 
Mixill

Reply

Marsh Posté le 15-01-2007 à 15:37:02   

Reply

Marsh Posté le 15-01-2007 à 15:58:19    

si tu parles du sport, ça s'écrit "bowling"...
 
pour le nb de strikes, c'est facile, tu fait un count du nb de X et apreil pour le nb de spares (/)
 
Pour les autres, c'est plus chaud. Je ne sais pas si c'est faisable en sql
 
Faudrait demander à MagicBuzz. Il maîtrise bien ce genre de chose ;)

Reply

Marsh Posté le 16-01-2007 à 10:30:38    

up ?

Reply

Marsh Posté le 16-01-2007 à 12:05:51    

t'as envoyé un MP à MagicBuzz?

Reply

Marsh Posté le 16-01-2007 à 16:00:50    

Il faudrait plutôt partir sur une autre structure de table ...
 
joueur / numéro de lancer / résultat

Reply

Marsh Posté le 16-01-2007 à 17:53:25    

Ca n'ira jamais avec une telle structure de table!

Reply

Marsh Posté le 22-01-2007 à 15:26:02    

Pour info, ma réponse :

Citation :


Salut,
 
A première vue, tu t'embarques dans un truc plutôt compliqué.
 
Il doit y avoir moyen de faire ça avec une requête SQL, mais de ce que j'en imagine, ça va être une horreure totale à écrire, et je ne suis pas certain que niveau perfs ça soit terrible.
 
Je te conseille donc de faire ça de façon programmative, à l'aide de PHP ou autre.
Si tu as une version de MySQL >= 5, et que tu veux absolument que ce soit fait par MySQL, alors oriente-toi vers une procédure stockée.
 
En tout ça, là comme ça, je ne vois pas de solution "simple" en MySQL.
 
En tout cas, à la base, il va falloir commencer par revoir ton modèle : le coup des colonnes a1, b1, a2, etc. c'est pas terrible, surtout que ça t'empêche d'utiliser les fonctions analytiques.
Déjà qu'avec, c'est la galère, mais sans, tu vas pas t'en sortir sans faire une dizaine de UNION 5 ou 6 fois de suite (et 60 jointures dans une requête SQL, y'a rien de mieux pour planter un serveur ;))

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed