Syntaxe requête base de données
Salut à tous,
j'effectue une requete de liaison entre 2 tables, avec une commande du type:
Code:
1 2 3
| select * from table1 left outer join table2
on table1.champ=table2.champ
where table1.champ like '%$searchterm%' |
mais ensuite, quand je veux accéder au champs d'une ligne de la réponse à ma requête:
Code:
$row=mysql_fetch_array($result);
,
je ne sais pas comment faire pour nommer un champ qui existe à la fois dans les 2 tables sous le même nom (mais sur lequel n'est pas fait la liaison), sans écrire le numéro de la place du champ dans la requête croisée.
C'est à dire par exemple
Code:
echo "<td align=right>".$row[6]."</td>";
au lieu de
Code:
echo "<td align=right>".$row[table1.nom]."</td>";
par exemple si nom est un champ qui existe dans table1 et dans table2 (mais sur lequel on n'effectue pas la liaison).
Quelle est la syntaxe correcte pour:
Code:
echo "<td align=right>".$row[table1.nom]."</td>";
???
Mathieu
Renommer le champ doublon
Faire quelque chose dans ce genre :
Code:
1 2 3 4
| select table1.* , table2.* , table2.nom_champ_doublon as nom_champ_doublon2
from table1 left outer join table2
on table1.champ=table2.champ
where table1.champ like '%$searchterm%' |
ce qui rajoute à ton set une colonne nom_champ_doublon2