Bonsoir,
j'ai un soucis avec ma requête qui ne me retourne pas le résultat que je souhaite. Alors voila, tout d'abord j'ai plusieurs tables, que voici
manoeuvres :
- id_man (auto-incrémenté)
- titre (varchar qui désigne le nom de la manœuvre)
- service (varchar qui désigne le service affecté pour la manoeuvre soit '2eme REP' soit 'Legion' )
ma seconde table personnels :
- id_pers (auto-incrémenté)
- nom
- prenom
puis ma table realisation qui contient les manoeuvres que les personnes réalisent :
- id_rea (auto-incrémenté)
- militaire (l'id de la table personnel)
- manoeuv (l'id de la table manoeuvre)
Et c'est à ce moment que ça bloque, voila ma requête :
Cette requête m'affiche dans un tableau croisé (en php je vous passe le code)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT CONCAT(pr1.nom,' ', pr1.prenom) AS name, man.id_man, man.titre, pt.manoeuv FROM realisation AS pt RIGHT OUTER JOIN personnels AS pr1 ON pr1.id_pers = pt.militaire RIGHT OUTER JOIN manoeuvres AS man ON man.id_fma = pt.manoeuv AND man.service = 'Legion' ORDER BY pr1.nom, man.titre
le nom et prénom dans les colonnes
le titre de la manoeuvre dans les lignes
et lorsque la personne a réalisé une manoeuvre, je place un '1' dans la jonction de la ligne et colonne correspondante.
Mais le premier PROBLÈME est le suivant, je n'ai pas dans mes colonnes le (nom et prenom) de toutes les personnes de ma table personnels mais seulement ceux qui ont déjà effectué une manoeuvre, donc ceux présents dans ma table realisation
Pourtant j'ai bien mis un ;Et le dernier PROBLÈME est que ma condition
Code : Sélectionner tout - Visualiser dans une fenêtre à part RIGHT OUTER JOIN personnels
n'a aucun effet,
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND man.service = 'Legion'
car j'ai dans mes lignes toutes les manoeuvres de ma tables manoeuvres alors que je voudrais seulement les manoeuvres de la 'Légion' et pourtant j'ai bien utiliséDonc je m'en remets à vous, qui peut-être pourriez m'aider, dans l'attente merci de m'avoir lu !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RIGHT OUTER JOIN manoeuvres AS man ON man.id_fma = pt.pointer_fma AND man.service = 'Legion'
Partager