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

 Oracle Discussion :

Pb requete basique


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Par défaut Pb requete basique
    Bonjour,

    Voilà mon pb

    J'ai 3 tables :

    personne
    nom, prenom, adresse, code1, code2, code3, code4

    utilisateur
    nom, prenom, niveau, code1, code2, code3, code4

    enseignant
    nom, prenom, grade, code1, code2, code3, code4


    je veux recuperer les nom, prenom de la table personne qd ce qui suit n'est pas verifier:
    personne.code1=utilisateur.code1=enseignant.code1
    personne.code2=utilisateur.code2=enseignant.code2
    personne.code3=utilisateur.code3=enseignant.code3
    personne.code4=utilisateur.code4=enseignant.code4


    Je ne sais pas comment m'y prendre autant l'inverse ok:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select personne.nom, personne.prenom
    from personne, utilisateur, enseignant
    where 
    personne.code1=utilisateur.code1,
    utilisateur.code1=enseignant.code1,
    personne.code2=utilisateur.code2,
    utilisateur.code2=enseignant.code2,
    personne.code3=utilisateur.code3,
    utilisateur.code3=enseignant.code3,
    personne.code4=utilisateur.code4,
    utilisateur.code4=enseignant.code4;
    Mais le tourner dans l'autre sens, je n'arrive pas à voir.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Par défaut
    de meme que j'aimerai bien avoir tous les enregistrement de la table enseignant quand personne.code1=utilisateurcode1 <> enseignant.code1
    personne.code2=utilisateurcode2 <> enseignant.code2
    personne.code3=utilisateurcode3 <> enseignant.code3
    personne.code1=utilisateurcode4 <> enseignant.code4

    <>(différent de)
    J'ai des grosses lacunes en oracle, merci pour votre aide.

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Pour le 1er besoin :
    personne.code1=utilisateur.code1=enseignant.code1
    personne.code2=utilisateur.code2=enseignant.code2
    personne.code3=utilisateur.code3=enseignant.code3
    personne.code4=utilisateur.code4=enseignant.code4
    Je verrais quelque chose comme ça en partant du fait qu'il faut comparer les codes par nom/prenom (sinon retirer les références à nom prénom):
    Code : 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
    select p.*
      from personne p
     where not exists (select 1 
                         from utilisateur u
                         join enseignant e  on e.nom    = u.nom
                                           and e.prenom = u.prenom
                                           and e.code1  = u.code1
                                           and e.code2  = u.code2
                                           and e.code3  = u.code3
                                           and e.code4  = u.code4
                        where p.nom    = u.nom
                          and p.prenom = u.prenom
                          and p.code1  = u.code1
                          and p.code2  = u.code2
                          and p.code3  = u.code3
                          and p.code4  = u.code4)
    Pour le 2eme en partant du fait qu'il suffit qu'un code soit différent parmis les 4 (idem pour les noms prénoms):
    Code : 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
    select e.*
      from enseignant e
     where exists (select 1 
                     from utilisateur u
                     join personne p  on p.nom    = u.nom
                                     and p.prenom = u.prenom
                                     and p.code1  = u.code1
                                     and p.code2  = u.code2
                                     and p.code3  = u.code3
                                     and p.code4  = u.code4
                     where e.nom    = u.nom
                       and e.prenom = u.prenom
                       and (  e.code1 <> u.code1
                           or e.code2 <> u.code2
                           or e.code3 <> u.code3
                           or e.code4 <> u.code4))
    Je ne suis pas sûr d'avoir totalement cerné le problème, si ça ne convient pas merci de fournir un jeu de test pour les 3 tables et le résultat escompté.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Par défaut
    Merci pour ton aide très constructif, cela m'a permis de voir comment m'y prendre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requete basique access
    Par marg0t dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/07/2013, 11h56
  2. requete imbriquée question basique
    Par pelloq1 dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/05/2008, 00h51
  3. Probleme basique concernant les requetes SQL sous BCB
    Par PhEnOmX dans le forum C++Builder
    Réponses: 8
    Dernier message: 29/02/2008, 16h06
  4. Requete basique dans une table
    Par yoann-56 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/11/2006, 18h09
  5. Aide sur requete basique
    Par marcomontreal dans le forum Access
    Réponses: 3
    Dernier message: 10/04/2006, 17h47

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