par
devlop78 » 14 juin 2011, 23:56
Deux possibilités :
- Tu peux violer la règle que je t'ai donné. Je voulais surtout te pousser à comprendre l'erreur plutot que de te donner une "solution" qui aurait fonctionné tout de suite mais qui ne t'aurait pas fait changer tes habitudes. Si tu es sûr qu'un champ n'a pas d'autres noms, ou qu'il n'est pas dans un risque de collision, tu peux te passer du nom de la table.
- Sinon, il existe ... des alias :
SELECT
A.id, A.nom, B.id, B.nom
FROM
users A, messages B
WHERE
A.id > 7
Tu vois ? En plus si tu sautes des lignes pour tout et que tu indentes, tu verras tout de suite plus clair. Les alias auront en plus l'avantage que tu n'auras pas à répeter ta variable de nom de table plus d'une fois (dans mon exemple). Les alias sont aussi disponibles pour les champs :
A.id as Identifiant
A.id Identifiant
Normalement les deux fonctionnent, le premier est plus propre ^^. Le nom de la colonne, par exemple pour php, sera Identifiant et non id.
Deux possibilités :
- Tu peux violer la règle que je t'ai donné. Je voulais surtout te pousser à comprendre l'erreur plutot que de te donner une "solution" qui aurait fonctionné tout de suite mais qui ne t'aurait pas fait changer tes habitudes. Si tu es sûr qu'un champ n'a pas d'autres noms, ou qu'il n'est pas dans un risque de collision, tu peux te passer du nom de la table.
- Sinon, il existe ... des alias :
SELECT
A.id, A.nom, B.id, B.nom
FROM
users A, messages B
WHERE
A.id > 7
Tu vois ? En plus si tu sautes des lignes pour tout et que tu indentes, tu verras tout de suite plus clair. Les alias auront en plus l'avantage que tu n'auras pas à répeter ta variable de nom de table plus d'une fois (dans mon exemple). Les alias sont aussi disponibles pour les champs :
A.id as Identifiant
A.id Identifiant
Normalement les deux fonctionnent, le premier est plus propre ^^. Le nom de la colonne, par exemple pour php, sera Identifiant et non id.