Bonjour,
je bloque depuis un moment sur ce problème.
J'espère trouver l'aide de quelqu'un de confirmé sur ce forum.

Voici le problème:
Je souhaite faire un classement de score avec gestion des égalités.

Pour l'instant rien de compliqué avec ce type de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT a.name,
(SELECT COUNT(DISTINCT b.score) FROM scores AS b WHERE b.score >= a.score) AS 'position'
FROM scores AS a ORDER BY position ASC;
Le problème c'est que ma table n'est pas de type:
name - score
bob - 500
joe - 600
tom - 300

mais j'ai 3 tables:

table: utilisateurs
id_user - pseudo
1 - bob
2 - joe
3 - tom
4 - sam

table: score_principal
id_jeu - id_user - gain - bonus - perte
1 - 1 - 500 - 50 - 0
2 - 2 - 600 - 80 - 30
3 - 3 - 300 - 0 - 40
1 - 2 - 400 - 10 - 0
3 - 2 - 600 - 80 - 30
3 - 1 - 200 - 0 - 10
2 - 4 - 200 - 60 - 0

table: collections
id_user - valeur
1 - 200
2 - 100

Donc ce que je voudrais, c'est un tableau qui me retourne le classement des utilisateurs avec le score correspondant à (score_principal(gain+bonus-perte) + collection(valeur))
En fait le but, c'est d'additionner le score de chaque jeu d'un utilisateur + la valeur d'une collection si il l'a obtenu et de le classer par rapport aux autres utilisateurs.
ce qui donnerai quelque chose comme cela:

rang - name - score(gain+bonus-perte)
1 - joe - 1910
2 - bob - 840
3 - tom - 260
3 - sam - 260

Et bien sûr, le code doit permettre de diviser le tableau sur plusieurs page.
Auriez vous une solution?
J'ai tout essayé, jusqu'à y mettre des variables "@variable", mais je n'y arrive pas.
merci beaucoup!