Bonjour,

j'ai une requête fonctionnelle qui permet d'afficher l'email de l'utilisateur :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT ALL EM.EM_email AS user_mail from us_user US 
INNER JOIN USL_user_license AS USL ON USL.US_ident = US.US_ident -- On cherche les licences de l'utilisateur
INNER JOIN em_mail AS EM ON EM.US_ident=USL.US_ident
where  US.US_sesa=100008

J'ai rajouté une nouvelle jointure (aux lignes 3 et 5 de la deuxième requête) pour afficher en plus l'email du manager, mais ce SELECT ne renvoie rien.

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT ALL EM.EM_email AS user_mail, EM_MANAGER.EM_email from us_user US 
INNER JOIN USL_user_license AS USL ON USL.US_ident = US.US_ident -- On cherche les licences de l'utilisateur
INNER JOIN US_user AS managers ON  USL.US_ident_manager = managers.US_ident -- On cherche les managers
INNER JOIN em_mail AS EM ON EM.US_ident=USL.US_ident
INNER JOIN em_mail AS EM_MANAGER ON EM_MANAGER.US_ident=managers.US_ident
where  US.US_sesa=100008

Les DDL :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CREATE TABLE `em_mail` (
  `EM_ident` int unsigned NOT NULL AUTO_INCREMENT,
  `EM_email` varchar(80) NOT NULL,
  `US_ident` int unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`EM_ident`),
  UNIQUE KEY `US_ident` (`US_ident`),
  CONSTRAINT `em_mail_ibfk_1` FOREIGN KEY (`US_ident`) REFERENCES `us_user` (`US_ident`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
 
CREATE TABLE `us_user` (
  `US_ident` int unsigned NOT NULL AUTO_INCREMENT,
  `US_sesa` int DEFAULT NULL,
  `US_firstname` varchar(50) DEFAULT NULL,
  `US_lastname` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`US_ident`),
  UNIQUE KEY `US_sesa` (`US_sesa`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
 
CREATE TABLE `usl_user_license` (
  `US_ident` int unsigned NOT NULL,
  `US_ident_manager` int unsigned NOT NULL,
  `COU_ident` int unsigned DEFAULT NULL,
  `LO_ident` int unsigned DEFAULT NULL,
  `CO_ident` int unsigned NOT NULL,
  PRIMARY KEY (`US_ident`),
  KEY `US_ident_manager` (`US_ident_manager`),
  KEY `COU_ident` (`COU_ident`,`LO_ident`),
  KEY `CO_ident` (`CO_ident`),
  CONSTRAINT `usl_user_license_ibfk_1` FOREIGN KEY (`US_ident`) REFERENCES `us_user` (`US_ident`),
  CONSTRAINT `usl_user_license_ibfk_2` FOREIGN KEY (`US_ident_manager`) REFERENCES `us_user` (`US_ident`),
  CONSTRAINT `usl_user_license_ibfk_3` FOREIGN KEY (`COU_ident`, `LO_ident`) REFERENCES `lo_location` (`COU_ident`, `LO_ident`),
  CONSTRAINT `usl_user_license_ibfk_4` FOREIGN KEY (`CO_ident`) REFERENCES `co_company` (`CO_ident`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

Pouvez-vous me dire où est mon erreur ?