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 :

problème de jointure


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Points : 20
    Points
    20
    Par défaut problème de jointure
    Je veux créer un composant php qui me renvoie un tableau résultant d'une requête sql. Tout fonctionne sauf pour une jointure et je ne comprend pas pourquoi.
    En faite j'utilise une première table TABLE1 dont les champ utilisé sont CODE,LIB et DATE. J'aimerais ajouter dans mon tableau le champ GROUPE qui appartient à la TABLE2. Le résultat devrait donné sa :
    LIB----------------DATE-------------CODE------------GROUPE
    a---------------aaaa-mm-jj----------1-----------------ab-----
    ......
    Le lien entre les deux tables est CODE et je pense que le souci c'est que dans TABLE1 le libellé du champ est CODE et idem dans TABLE2
    Voici ma requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT DATE,LIB,CODE FROM TABLE1 LEFT JOIN TABLE2 ON
     
    TABLE1.CODE=TABLE2.CODE WHERE CODE IS NOT NULL ORDER BY CODE,DATE DESC

    Le problème c'est qu'on me renvoie cette erreur :
    Column 'CODE' in field list is ambiguous

    C'est le même souci quand je teste sur PHPmyAdmin

    Je ne comprend pas pourquoi sa fait sa. J'espère que vous pourrez m'aider.


    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,

    De la même manière que vous avez préfixé le nom de la colonne dans votre prédicat de jointure (TABLE1.CODE=TABLE2.CODE) vous devez préfixer toutes les colonnes "ambiguës" (dont le nom se trouve dans plusieurs table), et cela dans toute les clauses de la requête (SELECT, WHERE, ORDER BY, etc.)

    Par exemple ici:
    Le SGBD ne sait pas si vous voulez travailler sur la colonne CODE de la table TABLE1 ou celle de TABLE2.
    Il faut préfixer la colonne du nom de la table choisie.

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    merci beaucoup pour ça sa a fonctionner le problème c'est que vu que je ne sélectionne pas dans ma requête le libellé de groupe sa ne m'affiche rien dans le champ groupe dans mon tableau. j'ai donc changé ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT TABLE1.DATE, TABLE1.LIB, TABLE1.CODE, TABLE2.GROUPE 
    FROM TABLE1 
    LEFT JOIN TABLE2 ON TABLE1.CODE = TABLE2.CODE 
    WHERE TABLE1.CODE IS NOT NULL 
    ORDER BY TABLE1.CODE, TABLE1.DATE DESC
    et maintenant j'ai cette erreur là :

    Not unique table/alias: 'GROUPE'

  4. #4
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 107
    Points
    1 107
    Par défaut
    Montrez-nous la structure de vos tables au format SQL (CREATE TABLE..) ainsi qu'un jeu d'essais (INSERT INTO...) et le résultat exact que vous attendez, histoire de tester ça.

Discussions similaires

  1. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27
  2. Probléme de jointure
    Par Ajrarn dans le forum Langage SQL
    Réponses: 14
    Dernier message: 24/02/2005, 14h57
  3. Vraisemblable problème de jointure
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 15h34
  4. [MS Access] Problème de jointure
    Par Erakis dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2005, 21h15
  5. Problème de jointure ?!
    Par ebaynaud dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/11/2004, 11h27

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