IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème pour la Division avec NOT EXISTS


Sujet :

Langage SQL

  1. #1
    Membre éclairé
    Avatar de myzu69
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 220
    Points : 744
    Points
    744
    Par défaut Problème pour la Division avec NOT EXISTS
    bonjour, je dois faire une requête me permettant de trouver le nom des employés qui participent à tous les projets (cas d'école). J'ai donc pensé à faire une division.
    Cependant il semblerait qu'il y ait une erreur lors de la création de la table temporaire.

    Mes tables sont :

    service (snum, nom, location)
    personne (pnum, nom, poste, dateemb, salaire, #snum, commission)
    projet (id, titre, #pnum, budget, heure, datedb)
    affectation (#pnum, #id, datefin, nheures)


    et ma requête est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT DISTINCT personne.nom
    FROM ( SELECT personne.nom AS nom_personne, service.nom AS nom_service INTO pers_service FROM service, personne WHERE personne.snum=service.snum ORDER BY service.snum )
    WHERE NOT EXISTS
    	(SELECT * 
    	FROM service
    	WHERE NOT EXISTS
    		(SELECT *
    		FROM pers_service AS pers_service2
    		WHERE pers_service.nom_personne = pers_service2.nom_personne
    		AND (pers_service2.nom_service =  service.nom)))
    Voilà, si quelqu'un pouvait m'aider, ce serait fort aimable.

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 102
    Points : 31 545
    Points
    31 545
    Billets dans le blog
    16
    Par défaut
    Votre requête est bien compliquée.

    Commencez d'abord par décrypter et essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT Nom
    FROM   Personne x
    WHERE  NOT EXISTS (SELECT *
                       FROM   Projet y
                       WHERE  NOT EXISTS (SELECT *
                                          FROM   Affectation z
                                          WHERE  z.pnum = x.pnum 
                                          AND    z.id = y.id)) ;
    Et suivez les discussions mentionnées dans
    http://www.developpez.net/forums/sho...d.php?t=438011

    Décidemment, la division est à la mode ces temps-ci...

Discussions similaires

  1. Problème pour compiler Ogre avec VS 2005
    Par Oxideur dans le forum Ogre
    Réponses: 2
    Dernier message: 01/03/2007, 18h33
  2. Problème pour utiliser split avec "\"
    Par Nicolas_555 dans le forum Langage
    Réponses: 6
    Dernier message: 03/08/2006, 14h42
  3. [SQL Server] Probleme avec not exists
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2006, 16h51
  4. Problème "The specified service does not exist as an ..
    Par Rimak2 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/05/2005, 21h24
  5. Requète avec NOT EXISTS
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 23/09/2003, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo