Bonjour,
J'ai un soucis. Je cherche à effectuer un select sur 2 champs mais avec des valeurs différentes en résultat, et sur une seule ligne.
Je m'explique :
Considérons 2 tables : utilisateurs et superieurs_hierarchiques
utilisateurs (id, nom, prenom etc...)
superieurs_hierarchiques (id, id_user, id_n1, id_n2) --> id_n1 correspond à l'id de la table "utilisateurs" du manager direct de "id_user". "id_n2" correspond à l'id_user du supérieur au dessus de n1.
Je cherche à effectuer une requête qui affiche les nom, prenom et id d'un utilisateur recherché (mettons l'utilisateur 1) ainsi que les nom, prenom et id de son manager direct (n1).
Tous les noms, prénoms, id se trouvent dans la table "utilisateurs".
J'ai donc une requête du genre :
Je veux donc récupérer l'id, le nom et le prénom de mon utilisateur 1 ainsi que l'id, le nom et le prénom de son manager dont on peut trouver l'id dans la table "superieurs_hierarchiques".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT u1.id id_user, u1.nom nom_user, u1.prenom prenom_user, u2.id id_manager, u2.nom nom_manager, u2.prenom prenom_manager FROM utlisateurs u1 LEFT JOIN utilisateurs u2 ON u1.id = u2.id LEFT JOIN superieurs_hierarchiques s ON u1.id = s.id_user AND u1.id = s.id_n1 WHERE u1.id = 1
J'aurais donc un résultat du genre :
id_user nom_user prenom_user id_manager nom_manager prenom_manager 1 nom1 prenom1 2 nom2 prenom2
Si besoin de précision, n'hésitez pas...
Merci,
Bonne journée![]()
Partager