Bonjour,
j'ai 2 tables :
USL_user_license qui contient les propriétaires de licence :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE USL_user_license( US_ident INT UNSIGNED, US_ident_manager INT UNSIGNED NOT NULL, COU_ident INT UNSIGNED, LO_ident INT UNSIGNED, CO_ident INT UNSIGNED NOT NULL, PRIMARY KEY(US_ident), FOREIGN KEY(US_ident) REFERENCES US_user(US_ident), FOREIGN KEY(US_ident_manager) REFERENCES US_user(US_ident), FOREIGN KEY(COU_ident, LO_ident) REFERENCES LO_location(COU_ident, LO_ident), FOREIGN KEY(CO_ident) REFERENCES CO_company(CO_ident) );
et une seconde table US_user qui contient tous les utilisateurs (donc les propriétaires de licence et leur manager) :
La première table possède 2 clés étrangères vers la seconde ; l'une concerne la colonne US_ident (elle désigne un propriétaire de licence) et l'autre concerne la colonne US_ident_manager (elle désigne le manager d'un propriétaire de licence).
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE US_user( US_ident INT UNSIGNED AUTO_INCREMENT, US_sesa INT, US_firstname VARCHAR(50), US_lastname VARCHAR(50), PRIMARY KEY(US_ident), UNIQUE(US_sesa) );
Mon souhait est de trouver la requête qui donnera nom et prénom du manager d'un propriétaire de licence, désigné par son identifiant (nommé code SESA).
J'ai fait cette requête :
mais elle ne retourne rien alors que l'utilisateur dont le SESA est 100008 existe dans la table US_user. Pourquoi ?
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT US.US_firstname, US.US_lastname FROM US_user US JOIN USL_user_license USL ON USL.US_ident_manager = US.US_ident WHERE US.US_sesa=100008
Partager