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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut [sql server]2 colonnes identiques lors du résultat d'une requête.
    Bonjour,

    J'ai une table MaTable1 qui a comme nom de colonnes :
    PERSONNE, EQUIPE, AGE
    et une table MaTable2 qui a comme nom de colonnes :
    PERSONNE, SPORTIF

    Lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM MaTable1, MaTable2
    WHERE MaTable1.PERSONNE = MaTable2.PERSONNE
    j'obtiens comme noms de colonnes :
    PERSONNE, EQUIPE, AGE, PERSONNE, SPORTIF

    Et lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PERSONNE,EQUIPE,AGE,SPORTIF
    FROM MaTable1, MaTable2
    WHERE MaTable1.PERSONNE = MaTable2.PERSONNE
    J'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'PERSONNE' : nom de colonne ambigu.
    Comme est-ce qu''il faut faire pour que PERSONNE n'apparaisse qu'une fois ?

    Merci

  2. #2
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 637
    Points : 6 804
    Points
    6 804
    Par défaut
    personne de ta table 2 est une clé étrangère FK tu as bien spécifié cela?
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  3. #3
    En attente de confirmation mail Avatar de Ensiaste2006
    Inscrit en
    juillet 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : juillet 2006
    Messages : 125
    Points : 142
    Points
    142
    Par défaut
    mets alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MaTable1.PERSONNE,EQUIPE,AGE,SPORTIF
    FROM MaTable1, MaTable2
    WHERE MaTable1.PERSONNE = MaTable2.PERSONNE
    ça parrait si facile que je me trompe est ce que j'ai bien compris ton prob

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Ensiaste2006
    mets alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MaTable1.PERSONNE,EQUIPE,AGE,SPORTIF
    FROM MaTable1, MaTable2
    WHERE MaTable1.PERSONNE = MaTable2.PERSONNE
    ça parrait si facile que je me trompe est ce que j'ai bien compris ton prob
    J'ai simplifié mon problème mais en fait l'écriture que tu as proposé n'est pas possible dans mon cas car je fais des
    requetes imbriquées car je ne peux pas créer de vue (je n'ai que les droits en lecture sur la base de données sur laquelle je travaille).
    Donc je ne peux pas faire MaTable1.PERSONNE dans le select car MaTable1 n'existe pas encore.
    Ma requete est de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM(SELECT PERSONNE, EQUIPE, AGE
             FROM  TablePersonne) MaTable2, (SELECT PERSONNE, SPORTIF
                                                             FROM   TableSportif) MaTable3
    WHERE MaTable2.PERSONNE=MaTable3.PERSONNE

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    hé faudrait poser le problème tel qu'il est au départ hein ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT matable2.personne, equipe, age, sportif
    FROM(SELECT PERSONNE, EQUIPE, AGE
             FROM  TablePersonne) MaTable2, (SELECT PERSONNE, SPORTIF
                                                             FROM   TableSportif) MaTable3
    WHERE MaTable2.PERSONNE=MaTable3.PERSONNE
    Emmanuel T.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2007, 00h03
  2. [MS SQL SERVER 7.0]Doublons lors d'une requête
    Par massif dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 09/12/2006, 12h35
  3. [SQL SERVER 2000][Trigger] Pb lors de l'execution du trigger
    Par mcousse dans le forum Développement
    Réponses: 4
    Dernier message: 24/11/2006, 12h25
  4. [SQL] Est-il possible d'afficher le résultat d'une requête dans un cadre
    Par dessinateurttuyen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/07/2006, 18h52

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