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 :

relation double entre deux tables


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut relation double entre deux tables
    bonjour voila j'ai un probleme car j'ai deux tables qui sont reliées par deux relation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cod_clt (client)--->clt_fac(vente)
    cod_clt (client)--->clt_liv(vente)
    car en faite les client facturé peut ne pas etre le client livré alors dans ma requete de slection je voudrais pouvoir le montrer en mettant le nom.client factué et le nom.client livré
    je crois qu'il doit y avoir une question d'alias dans le from avec les inner join mais je sais plus trop comment faire alors si vous pouvez m'aider ca serait sympas !!!
    merci à tous !!

  2. #2
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    un exemple sera plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select 
    fac.nom
    liv.nom
    from ...
         client fac,
         client liv
    where fac.code = ... and
              liv.code = ...
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par lper
    Bonjour,
    un exemple sera plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select 
    fac.nom
    liv.nom
    from ...
         client fac,
         client liv
    where fac.code = ... and
              liv.code = ...
    non cava pas j'ai pas de talbe client fac client liv j'ai une table client contenant les code clt_fac et clt_liv

  4. #4
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    ok, dans l'exemple, la table client est ouverte 2 fois avec un alias différent qui est soit fac soit liv pour avoir soit le nom du client de facturation soit celui de livraison.
    Ta table client contient une zone nom unique ?
    Dans la projection, j'affiche le nom du fac et le nom du liv.
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par lper
    ok, dans l'exemple, la table client est ouverte 2 fois avec un alias différent qui est soit fac soit liv pour avoir soit le nom du client de facturation soit celui de livraison.
    Ta table client contient une zone nom unique ?
    Dans la projection, j'affiche le nom du fac et le nom du liv.
    ma table client contient le cod_clt (clé primaire) le nom du client et ce champs cod_clt et relié deux fois a la table vente a clt_fac et clt_liv

  6. #6
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    Ok, je ferais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select 
    fac.nom 
    liv.nom 
    from vente a,
         client fac, 
         client liv 
    where fac.code = a.clt_fac and 
              liv.code = a.clt_liv
    Il y a bien deux tables physiques : client et vente, la table client est ouverte deux fois avec comme nom d'alias fac et liv (tu peux changer les noms si ca te gêne....)
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  7. #7
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    merci pour ton aide ca marche

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

Discussions similaires

  1. Access: double relation entre deux tables
    Par Michael_Access dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/01/2015, 16h34
  2. [AC-2010] Relation croisée entre deux tables
    Par noratec dans le forum Modélisation
    Réponses: 5
    Dernier message: 11/10/2012, 15h38
  3. [AC-2007] Relation cyclique entre deux tables
    Par GonzooJC dans le forum Access
    Réponses: 9
    Dernier message: 09/11/2011, 14h36
  4. [SQL] Relations complexes entre deux tables
    Par simonoche dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/06/2007, 00h23
  5. [novice] relation fk entre deux tables
    Par localhost dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/10/2005, 06h33

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