Bonjour,
Pour un projet il me faut modifier cette requête SQL :
Cette requete fonctionne parfaitement lorsque mv.id_membre_from et mv.id_membre_to sont différents. Mais lorsque c'est le même (ce qui est possible) alors elle ne prend pas la ligne de la base de donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 SELECT mv.id_mouvement , mv.id_membre_from , mv.id_membre_to , mv.id_base_from , mv.id_base_to , mv.unites , mv.ressources , mv.type , mv.time_depart , mv.tps_aller , mv.tps_retour , mv.tps_fin , mv.etat , mv.tps_annulation , mb.login , mb.id , b.continent , b.region , b.secteur , mb.race FROM mouvements AS mv INNER JOIN membres AS mb on mb.id in (mv.id_membre_from, mv.id_membre_to) and '.$infos_membre['id'].' in ( mv.id_membre_from , mv.id_membre_to ) and mb.id <> '.$infos_membre['id'].' LEFT JOIN bases AS b ON ((b.id_membre=mb.id && b.id=mv.id_base_from) OR (b.id_membre=mb.id && b.id=mv.id_base_to)) ORDER BY mv.tps_fin
J'ai identifié "le problème" qui est ce morceau :
Seulement quand je le retire alors je me retrouve avec deux ligne dans mon résultat (alors qu'il n'y a que une seule entrée dans la base de donnée !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part and mb.id <> '.$infos_membre['id'].'
J'aimerais donc faire un compromis entre les deux : que les id des membres soient différents ou pas, je récupère une seule ligne. Et j'ai beau chercher, tester... je ne parviens à aucune solution.
Merci de votre aide, toujours précieuse![]()
Partager