jointure entres tables avec même nom de champs - SQL/NoSQL - Programmation
Marsh Posté le 23-11-2006 à 10:52:30
tu dois absolument préfixer les champs avec le nom de la table dont ils proviennent
Marsh Posté le 23-11-2006 à 10:59:11
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...
Marsh Posté le 23-11-2006 à 11:00:40
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 ?
Marsh Posté le 23-11-2006 à 11:06:35
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 .....
Marsh Posté le 23-11-2006 à 11:31:07
hum juste, je tape une requete avec un LIMIT
Code :
|
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...
Marsh Posté le 23-11-2006 à 11:46:26
et la le message d erreur change ,j'ai
LIMIT #,# syntax is not supported HINT: Use separate LIMIT and OFFSET clauses
Marsh Posté le 23-11-2006 à 12:12:01
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!!!
Marsh Posté le 23-11-2006 à 12:14:37
oui mais tu as quoi comme db? cela peut venir de la aussi
Marsh Posté le 24-11-2006 à 11:12:40
PostgreSQl... peut être que ça vient de la alors... d'habitude j'utilise mysql
Marsh Posté le 25-11-2006 à 12:33:00
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...
Marsh Posté le 25-11-2006 à 12:43:23
mouais a priori un
Code :
|
devrait marcher pour faire la difference... à priori... je vais tester ça... et donnerai la réponse ici si ça interresse d autre!!!
Marsh Posté le 23-11-2006 à 10:01:02
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...