Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur dans ma requêtes

1 réponse
Avatar
Christine Imbeault
Bonjour à tous,

J'apprécie énormément vos réponses. Il m'aide à comprendre les requêtes SQL
mais je plante souvent. Je dois bâtir un profil de formation pour les
employés. J'ai la table 1 ci-dessous qui représente mes employés et la date
de la formation reçues, la table 2 ci-dessous qui est mon profil de
formation. J'aimerais obtenir le résultat ci-dessous. Voici la requête
débutée.

SELECT Matricule, cc, Tache
FROM table1 as t1
WHERE (NoFormation IN
((SELECT NoFormation
FROM table 2 as t2 ))
where t1.cc=t2.cc and t1.tache=t2.tache
Mais cela plante

Merci de votre aide
Christine

---------------------------------------------------------------


Table 1
Mat CC Tache No_Formation Date
7700 4236 4235 M111 2009-01-01


TAble 2 - Profil de formation
CC Tache No_Formation Titre
4236 4235 M111 Camion1
4236 4235 M112 Élingue
4236 4235 M113 Cadenas

Résultat que je dois obtenir

Mat CC Tache No_Formation Titre Date
7700 4236 4235 M111 Camion1 2009-01-01
7700 4236 4235 M112 Élingue
7700 4236 4235 M113 Cadenas

1 réponse

Avatar
Patrice
Si je comprends bien on veut toutes les formations avec les dates en face ce
qui donnerait

SELECT *
FROM t1
LEFT JOIN t2 ON t2.cc=t1.cc and t2.table=t1.tache and
t2.NoFormation=t1.NoFormation (je ne suis pas sûr de ce que représente cc et
tache, une formation n'est elle pas définie de façon unique via NoFormation
?)

Merci de ne jamais parler d'une erreur sans poster son texte exact (bien
qu'ici cela semble peu utile la requête semblant loin du résultat voulu).

Voir peut-être :
http://sqlpro.developpez.com/cours/sqlaz/jointures/

--
Patrice



"Christine Imbeault" <Christine a écrit
dans le message de groupe de discussion :

Bonjour à tous,

J'apprécie énormément vos réponses. Il m'aide à comprendre les requêtes
SQL
mais je plante souvent. Je dois bâtir un profil de formation pour les
employés. J'ai la table 1 ci-dessous qui représente mes employés et la
date
de la formation reçues, la table 2 ci-dessous qui est mon profil de
formation. J'aimerais obtenir le résultat ci-dessous. Voici la requête
débutée.

SELECT Matricule, cc, Tache
FROM table1 as t1
WHERE (NoFormation IN
((SELECT NoFormation
FROM table 2 as t2 ))
where t1.cc=t2.cc and t1.tache=t2.tache
Mais cela plante

Merci de votre aide
Christine

---------------------------------------------------------------


Table 1
Mat CC Tache No_Formation Date
7700 4236 4235 M111 2009-01-01


TAble 2 - Profil de formation
CC Tache No_Formation Titre
4236 4235 M111 Camion1
4236 4235 M112 Élingue
4236 4235 M113 Cadenas

Résultat que je dois obtenir

Mat CC Tache No_Formation Titre Date
7700 4236 4235 M111 Camion1 2009-01-01
7700 4236 4235 M112 Élingue
7700 4236 4235 M113 Cadenas