Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
692 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête sous Access, mode création ou SQL

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête sous Access, mode création ou SQL

n°1499783
Sachy
Posté le 06-01-2007 à 17:52:05  profilanswer
 

Bonjour, je réalise actuellement un prohjet sous Access et je dois imaginer des requêtes.
 
Dans ma base de données, j'ai "EMPLOYES" qui "POSSEDENT" des "SAVOIRS-FAIRE"
 
J'aimerais faire une requête qui me cite les compétences qui ne sont pas détenues par mes employés (afin par exemple de chercher à recruter des profils ayant les compétences manquant à l'entreprise).
 
Mon problème c'est que j'en reviens toujours au même problème: ma requête m'affiche les compétences détenues par mes employés
 
En gros je cherche l'expression "NE PAS" comme contrainte. Quelqu'un pourrait il m'aider?
 
Je vous remercie  :hello:


Message édité par Sachy le 06-01-2007 à 17:53:02
mood
Publicité
Posté le 06-01-2007 à 17:52:05  profilanswer
 

n°1499797
olivthill
Posté le 06-01-2007 à 19:21:40  profilanswer
 

Tout d'abord, ce serait bien d'avoir une table de toutes les compétences possibles.
Si cette table n'existe pas déjà, elle pourrait être nommée T_savoirfaire, et contenir un champ automatique savoirfaire_id, et son libellé savoirfaire_lib. Il est possible de la remplir rapidement par une requête qui combine un INSERT et un SELECT, par exemple :

INSERT INTO T_savoirfaire (savoirfaire_lib)
SELECT DISTINCT savoirs-faire FROM employes;

Ensuite, la requête SQL pour obtenir les compétences qui ne sont pas détenues par vos employés pourrait être écrite en utilisant NOT IN et une sous-requête, par exemple :

SELECT savoirfaire_lib FROM T_savoirfaire
 WHERE savoirsfaire_lib NOT IN
   (SELECT savoirs-faire FROM employes)


Mais je ne suis pas certain d'avoir bien compris la question. S'il faut une liste des employés et des compétences manquantes pour chaque employé, il faudrait faire presque la même chose :

SELECT e1.employe_nom, s.savoirsfaire_lib
  FROM employes e1, T_savoirfaire s
 WHERE s.savoirsfaire_lib NOT IN
   (SELECT e2.savoirs-faire FROM employes e2  
    WHERE e2.employe_nom = e1.employe_nom)


n°1499811
Sachy
Posté le 06-01-2007 à 19:59:37  profilanswer
 

Merci pour votre réponse :)
 

Citation :

Tout d'abord, ce serait bien d'avoir une table de toutes les compétences possibles.


J'ai une TABLE "compétences", contenant une liste générale de compétences.
Et les employés en possèdent certaines mais pas toutes celles de la liste
 
Je te montre ma requête en l'état, à savoir celle qui affiche les compétences détenues par les salariés:
 

Code :
  1. SELECT COMPETENCES.[LIB-COMP], Count([EMPLOYES INTERIMAIRES].[NOM-INT]) AS [CompteDeNOM-INT]
  2. FROM [EMPLOYES INTERIMAIRES] INNER JOIN (COMPETENCES INNER JOIN POSSEDER ON COMPETENCES.N°COMP = POSSEDER.N°COMP) ON [EMPLOYES INTERIMAIRES].N°INT = POSSEDER.N°INT
  3. GROUP BY COMPETENCES.[LIB-COMP]
  4. ORDER BY COMPETENCES.[LIB-COMP];


 
Ca vous aidera sans doute a "voir" comment sont organisées mes données


Message édité par Sachy le 06-01-2007 à 20:06:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête sous Access, mode création ou SQL

 

Sujets relatifs
Formulaire (SQL)Sql : access denied..
SQL : requêtes multibases[C++] Aide à la création d'un makefile
[SQL Server 2000]Petite aide sur les procédures stockéesProblème de requête SQL - PHP - mysql
Tableau dynamique sous ASP.net (C# et SQL Server)HELP création de 'n' boutons
Plus de sujets relatifs à : Requête sous Access, mode création ou SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR