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 :

Requete SELECT SUR +sieurs tables


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Points : 60
    Points
    60
    Par défaut Requete SELECT SUR +sieurs tables
    Bonjour;

    J'ai 4 tables comme suit :

    Table Personne avec PersonneId + 3 Champs a,b,c
    Table Compte avec PersonneID et CompteID + 2 champs d, e
    Table Adresse avec PersonneID, CompteID et AdresseID + 2 champs f et g
    Table Messagerie avec personneID et CompteID + 1 champ toto
    Les relations entre les 4 tables sont :

    Une Personne posséde 0..* comptes, un compte a une seule messagerie et +sieurs adresses
    1- Comment récupérer les data du champ toto d'une personne (SELECT) ?
    2- Comment récupérer les data des adresses d'une personne (SELECT) ?

    Merci;

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    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 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Citation Envoyé par yanis97
    J'ai 4 tables comme suit :
    Table Personne avec PersonneId + 3 Champs a,b,c
    Table Compte avec PersonneID et CompteID + 2 champs d, e
    Table Adresse avec PersonneID, CompteID et AdresseID + 2 champs f et g
    Table Messagerie avec personneID et CompteID + 1 champ toto
    Les relations entre les 4 tables sont :
    Une Personne posséde 0..* comptes, un compte a une seule messagerie et +sieurs adresses
    1- Comment récupérer les data du champ toto d'une personne (SELECT) ?
    2- Comment récupérer les data des adresses d'une personne (SELECT) ?
    Avec des jointures...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Points : 60
    Points
    60
    Par défaut
    Pour la question 1, j'ai essayé ceci mais ca ne fonctionne pas sous Oracle 10 :

    select toto from Personne PER INNER JOIN COMPTE CPT
    ON CPT.PersonnesID=PER.PersonneID
    INNER JOIN ADRESSE ADR
    ON CPT.COMPTEID=ADR.COMPTEID

    Quelqu'un sait pourquoi ?

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    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 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Citation Envoyé par yanis97
    Pour la question 1, j'ai essayé ceci mais ce ne fonctionne pas sous Oracle 10 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select toto from Personne PER INNER JOIN COMPTE CPT 
    ON CPT.PersonnesID=PER.COMPTEID 
    INNER JOIN ADRESSE ADR
    ON DCC.DcContextID=CLD.DcContextID":
    A quoi font référence DCC et CLD ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 428
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par al1_24
    A quoi font référence DCC et CLD ?
    Désolé ma requete est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select toto 
      from Personne PER 
           INNER JOIN COMPTE CPT 
                   ON CPT.PersonnesID = PER.PersonneID 
           INNER JOIN ADRESSE ADR
                   ON CPT.COMPTEID = ADR.COMPTEID

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par yanis97
    Pour la question 1, j'ai essayé ceci mais ca ne fonctionne pas sous Oracle 10 :
    Que signifie l'expression "ne fonctionne pas" ? Vous ne récupérez aucune ligne, ou vous avez une erreur ?
    - dans le premier cas, cela vient sans doute des données,
    - dans le second cas, merci de nous poster le message d'erreur complet SVP

Discussions similaires

  1. Requete select sur 2 tables => doublons
    Par Lamanne dans le forum Requêtes
    Réponses: 8
    Dernier message: 22/01/2009, 22h53
  2. Requete select sur plusieurs tables
    Par cl@ndestIno dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/12/2008, 12h36
  3. Requete mysql : select sur deux tables
    Par IP-Fix dans le forum Requêtes
    Réponses: 9
    Dernier message: 12/11/2008, 16h03
  4. requete SELECT sur 3 tables
    Par TheBlackReverand dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/01/2008, 12h53
  5. Requete select sur 2 tables
    Par beho dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/02/2007, 15h19

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