Signaler

[URGENT] Requête SQL [Résolu]

Posez votre question NowHereMe - Dernière réponse le 6 janv. 2017 à 14:15 par le père.
Bonjour,

Etudiante en développement web et actuellement alternante en entreprise, j'ai un gros projet à réaliser et je bloque sur une requête... Ce qui ne m'arrive pas si souvent ! ;)
Les données seront exploitées avec AngularJS (que j'apprends tout juste) donc si une solution peut découler de ça je suis preneuse aussi.

J'ai les données (fictives) suivantes dans la table utilisateur:

id | nom | prenom | id_manager
1 | A| a | 2
2 | B| b | 3
3 | C| c | null


Un utilisateur est dirigé par un manager. Ce manager (représenté par id_manager) doit correspondre à un id de la table utilisateur.
N'ayant pas d'autres tables que celle-ci, je veux afficher le nom du manager (qui est un utilisateur) à la suite de mon tableau comme ceci :

id | nom | prenom | id_manager |nom_manager
1 | A| a | 2 | B
2 | B| b | 3 | C
3 | C| c | null |

J'ai essayé avec des requêtes imbriquées, des inner join sur la même table utilisateur... Je ne trouve pas de solution même si je pense que c'est tout bête !

Ayant des délais à respecter, merci d'avance pour votre aide ^^
Afficher la suite 
Utile
+2
plus moins
Bonjour

Inutile de préciser [URGENT], ça ne donne pas envie de te répondre plus vite, au contraire.
Pour ton problème, l'idée est de faire une jointure sur la table elle-même, en mettant deux alias distincts pour savoir si on parle de la table de droite ou de gauche de la jointure.
Quelque chose du genre
SELECT t1.id, t1.nom,t1.prenom, t1.id_manager, t2.nom as nom_manager FROM utilisateur AS t1 LEFT JOIN utilisateur AS t2 ON t1.id_manager=t2.id
Cette réponse vous a-t-elle aidé ?  
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !