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 :

soucis a faire une requete SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut soucis a faire une requete SQL
    Bonjour a toutes et tous,

    j'ai cree une base de donnees pour gerer un echange linguistique. J'ai donc une table avec tous les corrspondants et une table avec deux id qui permet d'associer les deux correspondants faisant l'echange.

    CORRESPONDANT
    id_correspondant
    nom
    nationalite


    ECHANGE
    id_echange
    id_correspondant1
    id_correspondant2


    Dans ma table "echange", je mets les deux id des deux correspondants qui effectuent l'echange.

    Voila que surgit mon souci, comment afficher via une requete SQL une liste de type:

    Nom correspondant 1 - Nom correspondant 2
    xxxxxxxxxxxx xxxxxxxxxxx
    xxxxxxxxxxxx xxxxxxxxxxx


    Merci d'avance pour cette requete de newbie (quel jeu de mots! Wink )
    D'ailleurs si vous connaissez un site pédagogique bien fait avec des exemples de requetes SQL, je suis preneur!

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Par défaut
    Ce que tu veux faire s'appelle une jointure

    http://sql.developpez.com/sqlaz/jointures/

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Ici, il s'agit d'une double jointure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a.Nom, b.Nom
    FROM Echange e INNER JOIN Correspondant a on a.Id_Correspondant = e.Id_Correspondant1
                   INNER JOIN Correspondant b on b.Id_Correspondant = e.Id_Correspondant2

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut
    merci a toi, KrusK, pour ton lien, je vais essayer de bien comprendre ces exemples.
    Un grand merci a Mediat, d'avoir essaye de me faire la requete, mais je dois etre vraiment nul, car cela me marque: erreur de syntaxe (operateur absent).

  5. #5
    Membre chevronné
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select C1.nom,C2.nom
    from Correspondant C1,Correspondant C2,Echange E
    Where E.id_correspondant1 = C1.id_correspondant
    And E.id_correspondant2 = C2.id_correspondant

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut
    Un grand merci au Capitaine Jean-Luc Picard !
    mais pourquoi la requete de Médiat me renvoyait une erreur?

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Tu ne serais pas sous Oracle 8 ou inférieur, par exemple ?

    Si tu lis les règles du Forum, tu verras qu'il est demandé de préciser le SGBD sur lequel on travaille, et sa version. Il y a une norme SQL (Enfin .. il y en a plusieurs, on en est à SQL 3), mais chaque SGBD y colle plus ou moins, a ses mots-clés propriétaires, etc.

    Si tu lis le cours dont le lien t'a été fourni par KrusK, et que tu as le courage d'arriver jusqu'au bout (ou alors si tu vas voir au bout sans tout lire, ça marche pareil, tu liras le reste plus tard ...), tu verras par exemple que le JOIN n'est supporté par Oracle que depuis la version 9.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 59
    Par défaut
    j'utilise Access 2000 en le couplant avec VB 6.0

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2008, 14h26
  2. Réponses: 1
    Dernier message: 26/09/2006, 11h55
  3. Réponses: 23
    Dernier message: 19/09/2006, 11h33
  4. [SQL] recupere les valeurs d'un liste puis faire une requete SQL
    Par 18Marie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/06/2006, 12h50
  5. Réponses: 2
    Dernier message: 03/05/2004, 12h13

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