Jointure sql problème inner join
4 messages
• Page 1 sur 1
- melodide
- Nouveau WRInaute

- Messages: 12
- Inscription: 23 Avr 2010
Jointure sql problème inner join
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 :
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
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: Tout sélectionner
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
-

YoyoS - WRInaute accro

- Messages: 3835
- Inscription: 14 Sep 2006
Re: Jointure sql problème inner join
Essaie simplement:
SELECT t1.DATE,t1.LIB,t1.CODE,t2.GROUPE
FROM TABLE1 t1
LEFT JOIN TABLE2 t2 ON
(t1.CODE=t2.CODE)
Tu n'as pas à gérer les null dans un LEFT JOIN. Sinon le LEFT JOIN perd tout son sens. Et le problème anbiguous provient du fait que tu n'utilises pas d'alias ou le nom de la table quand tu fais appel à CODE.
SELECT t1.DATE,t1.LIB,t1.CODE,t2.GROUPE
FROM TABLE1 t1
LEFT JOIN TABLE2 t2 ON
(t1.CODE=t2.CODE)
Tu n'as pas à gérer les null dans un LEFT JOIN. Sinon le LEFT JOIN perd tout son sens. Et le problème anbiguous provient du fait que tu n'utilises pas d'alias ou le nom de la table quand tu fais appel à CODE.
- melodide
- Nouveau WRInaute

- Messages: 12
- Inscription: 23 Avr 2010
Re: Jointure sql problème inner join
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 :
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'
j'ai laissé le WHERE car je ne pense pas que ce soit de là que vienne le souci
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'
j'ai laissé le WHERE car je ne pense pas que ce soit de là que vienne le souci
-

YoyoS - WRInaute accro

- Messages: 3835
- Inscription: 14 Sep 2006
Re: Jointure sql problème inner join
Mais pourquoi tu fais des requêtes à rallonge et illisibles. En plus tu continues à mettre des IS NOT NULL alors que ça sert à rien avec ton LEFT JOIN. Si tu veux le libellé du groupe bah tu fais fais un select t2.lib, c'est tout.
SELECT t1.DATE,t1.LIB,t1.CODE,t2.LIB
FROM TABLE1 t1
LEFT JOIN TABLE2 t2 ON
(t1.CODE=t2.CODE)
SELECT t1.DATE,t1.LIB,t1.CODE,t2.LIB
FROM TABLE1 t1
LEFT JOIN TABLE2 t2 ON
(t1.CODE=t2.CODE)
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- JOINTURE SQL: problème de doublon
- Problème de jointure entre deux tables requête SQL
- Optimisation SQL - Inner Join (3) ou 3 x Select ?
- SQL, Jointure
- Jointure SQL ne fonctionne pas..
- Enregistrements non compris dans une jointure SQL
- MySQL problème de requete LEFT JOIN
- Problème choix syntaxe jointure
- problème de jointure de table avec SUM et GROUP BY
- problème de jointure mysql : je m'en sors pas !!
- Suggestions de requêtes dans Google News - 29-04-2006
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Google rachète iRows (tableur en ligne) - 20-11-2006
Qui est en ligne
Utilisateurs parcourant ce forum: Robinson et 2 invités
