Bonjour,

J'aimerais réaliser une requête de ce genre (voir ci-dessous).
Il est possible que le joueur ne soit pas membre d'une "union" (il n'y a donc pas d'entrée le concernant dans la table "membres_unions". Il faudrait donc dans ce cas ne pas joindre la table à la requête, mais également ne pas joindre la table "union".

Est-il possible de le faire en une requête ? Est-ce que cela pourrait se faire avec quelque chose comme CASE WHEN EXISTS ?

La requête fonctionne comme cela, mais pour le cas ou un joueur n'a pas d'union, j'ai l'erreur suivante :

Warning: Illegal string offset 'id_union' in ..

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SELECT f.*,i.pseudo,i.derniere_connexion,i.statut_joueur,i.victoires,i.defaites,u.nom,u.id_union,g.grade_actuel FROM forces_pseudo f
LEFT JOIN inscriptions i
ON f.pseudo_force=i.id
LEFT JOIN grade g
ON f.pseudo_force=g.pseudo_grade
LEFT JOIN membres_unions m
ON f.pseudo_force=m.pseudo_union
LEFT JOIN unions u
ON m.alliance=u.id_union
WHERE ..
ORDER BY f.force_globale DESC LIMIT 0,50

Merci !