Bonjour,
Petit nouveau sur le forum et dev depuis quelques mois, je sollicite votre aide pour une requete avec laquelle je bloque depuis plusieurs jours.
Explications du contexte :
2 tables :
#1 : member :
id du salarié
prénom du salarié
nom du salarié
date de naissance
Numéros de sécu
....
#2 piece : qui contient des données sur des pièces et films réalisés :
id de la piece
l'id de l'auteur s'il fait partie des membres de la société
le nom de l'auteur s'il ne fait pas partie de la société
l'id du second auteur s'il fait partie de la société
le nom du second auteur s'il ne fait pas partie de la société
l'id du réalisateur faisant partie de la société
l'id de l'ingénieur du son
l'id de l'ingénieur lumière
....
J'essaye de réaliser la requête suivante :
- Obtenir les pièces d'une des troupes, qui sont en 'Archive' et d'en afficher les prénoms, noms, ... des personnes salariés impliquées dans le projet.
sachant qu'il n'y a que 2 tables et que s'il y a un id(auteur, ingé son, ingé lumière, ...) il s'agit forcément d'un salarié.
Je pense avoir tout essayé avec les INNER JOIN dans touts les sens, les SELECT sur des SELECT, ... Mais ca y est, je suis perdu et serai ravi d'avoir un petit coup de pouce car je ne parviens pas à avoir une requête complète et fiable.
Voici ma dernière requête :
Je ne récupère qu'un 1 seul résultat, ce qui n'est pas le résultat attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT * FROM piece p INNER JOIN member m1 ON m1.id = p.first_author_id INNER JOIN member m2 ON m2.id = p.second_author_id INNER JOIN member m3 ON m3.id = p.director_id INNER JOIN member m4 ON m4.id = p.sound_director_id INNER JOIN member m5 ON m5.id = p.light_director_id INNER JOIN troop t INNER JOIN piece_troop pt ON t.id = pt.troop_id AND p.id = pt.piece_id WHERE pt.troop_id LIKE 1 AND p.situation LIKE "Archive" ORDER BY created_in DESC
Merci à ceux qui auront 1, 2 voire 3 idées à me soumettre.
Partager