Bonjour,

Voilà j'ai 3 requêtes et je voudrais les réunir en une seule. Je m'explique j'ai une base de données qui va être utilisée à la fois pour la création d'un organigramme et d'un annuaire, ici on parle de la partie annuaire. Je suis en train de réaliser un moteur de recherche et je voudrais afficher toutes les personnes présentes dans la base de données.Voici une image du MLD




De base toutes les personnes sont dans la table AGENT, cependant on a besoin aussi de savoir dans quel département ils font partis ou dans quelle section(Sachant qu'un département regroupe plusieurs sections) ou dans une équipe(Sachant qu'une section regroupe plusieurs équipes).
J'utilise MySQL comme SGBD.

Exemple:
Furil est un chef de département
Toto est un chef de section
Jeanbon est un chef d'équipe

Voilà les requêtes permettant de lister :
Les personnes faisant partie d'un service:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
$requete2 = ('SELECT Lib_agent,No_agent,Lib_departement,Lib_fonction
			FROM AGENT,AGENT_DEPT,DEPARTEMENT,FONCTION
			WHERE agent.Id_agent = agent_dept.Id_agent
			AND agent_dept.Id_departement = departement.Id_departement
			AND agent.Id_fonction = fonction.Id_fonction
			');
Les personnes faisant partie d'une section sachant qu'une section fait partie d'un département :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
$requete3 = ('SELECT Lib_agent,No_agent,Lib_departement,Lib_section,Lib_fonction
			FROM AGENT,AGENT_SECTION,SECTION,DEPARTEMENT,FONCTION
			WHERE agent.Id_agent = agent_section.Id_agent
			AND agent_section.Id_section = section.Id_section
                        AND section.Id_departement = departement.Id_departement
			AND agent.Id_fonction = fonction.Id_fonction
			');
Enfin les personnes faisant partie d'une équipe sachant qu'une équipe fait partie d'une section :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$requete4 = ('SELECT Lib_agent,No_agent,Lib_departement,Lib_section,Lib_equipe,Lib_fonction
			FROM AGENT,AGENT_EQUIPE,EQUIPE,SECTION,SERVICE,FONCTION
			WHERE agent.Id_agent = agent_equipe.Id_agent
			AND agent_equipe.Id_equipe = equipe.Id_equipe
                        AND equipe.Id_section = section.Id_section
                        AND section.Id_departement=departement.Id_departement
			AND agent.Id_fonction = fonction.Id_fonction
			');
J'ai déjà fait le script fonctionnel qui affiche le tableau selon la requête exécuté lors de la recherche. Ce que j'aimerai c'est qu'avant que la recherche soit effectuée, qu'un tableau soit affiché, répertoriant toutes les personnes donc ici Furil, Toto et Jeanbon les un en dessous des autres avec toutes les informations qui vont avec donc dans quel département, service ou/et équipe ils font partie.

Vu qu'il y a des ajout de champs d'une requête à une autre UNION n'est pas envisageable.

Voilà j'espère avoir bien expliqué, s'il y a d'autres choses à expliquer je le ferai avec plaisir !

Je vous remercie d'avance et vous souhaite une bonne journée.