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

  1. #1
    Membre à l'essai
    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
    Points : 21
    Points
    21
    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 régulier
    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
    Points : 113
    Points
    113
    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
    Points : 2 227
    Points
    2 227
    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 à l'essai
    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
    Points : 21
    Points
    21
    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 confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    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 à l'essai
    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
    Points : 21
    Points
    21
    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é
    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
    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.

  8. #8
    Membre à l'essai
    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
    Points : 21
    Points
    21
    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