Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1751 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  jointure entres tables avec même nom de champs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

jointure entres tables avec même nom de champs

n°1480427
jedebute75
Posté le 23-11-2006 à 10:01:02  profilanswer
 

Voila,
 
je fais une jointure entres deux tables avec des champs de mêmes nom!!
je m'explique
 
table fruit : champs "nom"
table bonbon : champs "nom"
donc ma requete :  
 
select * from fruit F JOIN bonbon b ON F.id = b.id_bonbon where f.type = b.type
 
sauf que si je veux afficher le "nom" de bonbon, c'est systematiquement celui de fruit qui s'affiche car ces deux tables ont un champs nom...

mood
Publicité
Posté le 23-11-2006 à 10:01:02  profilanswer
 

n°1480457
chepa_jeml​s
Posté le 23-11-2006 à 10:52:30  profilanswer
 

tu dois absolument préfixer les champs avec le nom de la table dont ils proviennent

n°1480467
jedebute75
Posté le 23-11-2006 à 10:59:11  profilanswer
 

c'est ce que j'ai fait par exemple ma requete c'est $resultat :  
je fait $resultat['F.nom'] ou $resultat['B.nom'] ne me renvoi rien...

n°1480470
jedebute75
Posté le 23-11-2006 à 11:00:40  profilanswer
 

aaah oui je comprend ce que tu veux dir je devrais changer les nom de mes champs par exemple, le champs nom de bonbon deviendrait bonbon_nom .. c ça ?

n°1480478
chepa_jeml​s
Posté le 23-11-2006 à 11:06:35  profilanswer
 

en fait quand tu fais un select *, il va prendre tous champs.  Le problème est que tu as 2 champs d'un même nom.
 
Donc à la place de *, il faut que tu mets par exemple:
 
select bonbon.nom, fruit.nom,..... from .....

n°1480486
jedebute75
Posté le 23-11-2006 à 11:14:39  profilanswer
 

ahhhhhhh ok!!!  beaucoup ;-)

n°1480487
jedebute75
Posté le 23-11-2006 à 11:14:58  profilanswer
 

oups zapé le MERCI avant le beaucoup

n°1480504
jedebute75
Posté le 23-11-2006 à 11:31:07  profilanswer
 

hum juste, je tape une requete avec un LIMIT

Code :
  1. $requete = "SELECT * FROM where $critere NOTNULL ORDER BY $critere LIMIT ($from, $limit_par_page) ";


 
me renvoie :  
 
argument of LIMIT must be type integer, not type record
pourtant quand j'affiche la valauer de $from, $limit_par_page j'ai bien 0,10 ???
je pige pas ...
sinon un limit tout bête avec comme valeur par exemple 10 ça marche...

n°1480510
chepa_jeml​s
Posté le 23-11-2006 à 11:37:46  profilanswer
 

retire les () déja...

n°1480513
jedebute75
Posté le 23-11-2006 à 11:45:26  profilanswer
 

déjà fait et même resultats :-((

mood
Publicité
Posté le 23-11-2006 à 11:45:26  profilanswer
 

n°1480516
jedebute75
Posté le 23-11-2006 à 11:46:26  profilanswer
 

et la le message d erreur change ,j'ai  
LIMIT #,# syntax is not supported HINT: Use separate LIMIT and OFFSET clauses

n°1480529
chepa_jeml​s
Posté le 23-11-2006 à 11:56:08  profilanswer
 

la je sèche

n°1480544
jedebute75
Posté le 23-11-2006 à 12:12:01  profilanswer
 

moi aussi :-((( mais c bizzard  
quand je met LIMIT $limit_par_page OFFSET $from ça marche, pourtant un simple LIMIT $from, $limit_par_page   devrait marcher bref, je vais faire comme ça mais c strange!!!

n°1480548
chepa_jeml​s
Posté le 23-11-2006 à 12:14:37  profilanswer
 

oui mais tu as quoi comme db? cela peut venir de la aussi

n°1481199
jedebute75
Posté le 24-11-2006 à 11:12:40  profilanswer
 

PostgreSQl... peut être que ça vient de la alors... d'habitude j'utilise mysql

n°1481247
chepa_jeml​s
Posté le 24-11-2006 à 13:11:43  profilanswer
 

c'est donc ça, c'est ce que j'ai vu sur le net

n°1481639
jedebute75
Posté le 25-11-2006 à 12:33:00  profilanswer
 

Oui, vu aussi.
pleins de petites choses comme ça qui change... pas top au debut quand on sait pas!!!
 
par contre j'ai toujours le soucis des champs de même nom
en faisant un
 
select bonbon.nom, fruit.nom from bonbon JOIN fruit ON blablabla...
 
un $resultat['fruit.nom'] ne renvoi rien et un $resultat['nom'] renvoi systematiquement le nom de bonbon :-((((  
alors la je vois pas comment differencier les deux noms ... est ce qu'il faut un autre truc que JOIN pour les champs de même noms dans deux tables differentes... je regarde sur le net et je ne vois pas de cas comme le mien car il donne systematiquement des exemples avec des champs de noms differents... pourtant ce cas doit bien exister C sûr...

n°1481642
jedebute75
Posté le 25-11-2006 à 12:43:23  profilanswer
 

mouais a priori un  
 

Code :
  1. fruit.nom as fruit_nom


 
devrait marcher pour faire la difference... à priori... je vais tester ça... et donnerai la réponse ici si ça interresse d autre!!!

n°1481644
jedebute75
Posté le 25-11-2006 à 12:54:05  profilanswer
 

et bien OUI un simple AS règle touut... pfff!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  jointure entres tables avec même nom de champs

 

Sujets relatifs
Jointure en mysql[resolu] Probleme de requete sur deux tables
Requete SQL entre 2 tables !Résolu - Effacer des champs dans des tables à partir d'un select
[MySql) Faire un where sur un champs liste de valeursfaire un join sur plusieurs champs à la fois?
Repartition Tables MySQL ardue[RESOLU][Access] Authentification automatique tables liées
une grosse table VS plusieurs tables de tailles moyennes ? 
Plus de sujets relatifs à : jointure entres tables avec même nom de champs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR