Bonjour,
J'ai un petit problème de résultats pour uen requete :
Le but de la requete est de rechercher quel est le dernier match joué pour une équipe de volley, l'adversaire, la date et le score pour l'afficher sur une page web.
Mon problème : j'arrive à faire une sélection de 3 éléments, qui sont des matchs déjà joués et dont la date est passée. Je voudrais sortir de ces 3 éléments, le dernier joué en fonction de la date.
Or, la date est correcte, mais l'adversaire ne correspond pas au dernier match joué mais au premiers.
Voici les requetes et résultats :
Résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT code_adv, domicile, score, nom, matchs.code_equipe, adversaires.id_adv, max( date ) FROM `matchs` , adversaires WHERE matchs.code_adv = adversaires.id_adv AND matchs.code_equipe = 'R1M' AND date <= current_date( ) GROUP BY code_equipe, date ORDER BY date
(code adversaire, domicile, score, nom adversaire, equipe, code_adv, date)
- 55 1 3/2 Sucé R1M 55 2006-01-15
53 0 1/3 ASPTT Laval R1M 53 2006-01-21
47 1 1/3 Cholet R1M 47 2006-01-29
Si j'utilise un max(date) pour sortir celui du 2006-01-29, avec la requete suivante, j'arrive à une incohérence des résultats :
Résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT code_adv, domicile, score, nom, max( date ) , matchs.code_equipe, adversaires.id_adv FROM `matchs` , adversaires WHERE matchs.code_adv = adversaires.id_adv AND matchs.code_equipe = 'R1M' AND date <= current_date( ) GROUP BY code_equipe ORDER BY date
- 55 1 3/2 Sucé 2006-01-29 R1M 55
Ici, la date max est bien la bonne(2006-01-29), mais le code adversaire (code_adv) n'est plus le bon (55 au lieu de 47)
Avez-vous une idée de la raison ?
Partager