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 :

les requêtes jointure natuelle


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut les requêtes jointure natuelle
    Bonjour

    J'ai une requête à afficher les clients qui ont tous leurs comptes dans la même agence. pour modéliser la banque
    Agence(NumAgence,NomA,Ville)
    Client(NumClient,NomC,Ville)
    Compte(NumCompte,NumAgence,NumClient,Solde)
    Emprunt(NumEmprunt,NumAgence,NumClient,Montant)

    le problème est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    select NumClient,NomC,Ville
    from Client,Compte,Agence
    where Client.NumClient=Compte.NumClient AND Compte.NumAgence=Agence.NumAgence;
    si je fait Compte.NumAgence=Agence.Numagence,on peut juste savoir le client a des comptes dans l'agence,il ne peut pas savoir qu'il est dans la même agence,

    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    NumCompte  NumAgence     NumClient      Solde
    021          1              23            300
    098          2              23            200
    Il est vrai aussi ,il a dit qu'un client peut avoir des différent comptes dans différent agence,après la jointure natuelle Compte.NumAgence=Agence.Numagence,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    NumAgence   NomA    Ville      NumCompte   NumClient   Solde
    1           LCL     PARIS       021          23          300
    2           BNP     LYON        098          23          200
    ça sera bon aussi,comment je peux faire tous leurs comptes dans la même agence.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut
    J'ai eu vraiment du mal pour trouver la même agence,à mon avis,si on fait jointure natuelle,on peut d'abord savoir les agences,mais on ne peut pas éviter les clients ont les différent comptes sur différent agence.

    Si vous pouvez m'aider,je vous remercie.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 392
    Points
    28 392
    Par défaut
    Si le client a tous ses comptes dans la même agence, c'est qu'il n'a pas de compte dans une autre agence...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut
    Vous avez raison,je me suis trompé,sur l'énoncé,il a bien dit tous les comptes dans la même agence,il ne peut pas avoir d'autre compte dans d'autre agence,donc le table est faux,mais le requête est correct ou non,je modifier comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT NumClient,NomC,Ville
    FROM Client,Compte,Agence
    WHERE Client.NumClient=Compte.NumClient AND Compte.NumAgence=Agence.NumAgence;
    Vous pensez que c'était correct ou non.

    Et le table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    NumCompte  NumAgence     NumClient      Solde
    021          1              23            300
    098          2              25            200
     
     
    NumAgence   NomA    Ville      NumCompte   NumClient   Solde
    1           LCL     PARIS       021          23          300
    2           BNP     LYON        098          25          200
    le premier table que je fais une jointure naturelle avec client et compte pour vérifier le compte existe à un client donné et le deuxième table que je fais compte et agence pour véirifier l'agence est la même agence.


    SVP,si vous pouvez me corriger ma requête.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2010, 09h37
  2. Problème requête jointure
    Par Isa31 dans le forum Langage SQL
    Réponses: 36
    Dernier message: 16/05/2005, 13h46
  3. Réponses: 44
    Dernier message: 14/03/2005, 09h43
  4. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

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