Probleme requête mysql avec jointure et alias

Fermé
shelko - 20 mars 2009 à 21:47
 gg - 10 mai 2009 à 23:19
Bonjour,
J'ai récupéré une requête permettant de trier dans une bdd des villes en fonction de leur distance avec une ville de référence.
Je l'ai adaptée à ma sauce car chez moi je dois ajouter une caractéristique supplémentaire qui fait que j'ai une jointure .
Cela me donne ça :
SELECT societe.soc, societe.descsoc, societe.villesoc, ville.zip,ville.ville,((6366*acos(cos(radians('$latbase'))*cos(radians(`ville`.`lat`))*cos(radians(`ville`.`long`)-radians('$longbase'))+sin(radians('$latbase'))*sin(radians(`ville`.`lat`)))) AS Proximite
FROM societe INNER JOIN ville ON societe.villesoc=ville.idville
WHERE societe.tag='$key' LIMIT 0,20 ORDER By proximite


Et lorsque j'éxécute cette requête j'ai ce message d'erreur:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS Proximite FROM societe INNER JOIN ville ON societe.villesoc=ville.idville WHE' at line 1

J'ai relus plusieurs fois mon code et j'avoue que je pêche un peu donc si quelqu'un a une idée je suis preneur.

2 réponses

Bonsoir , a priori les parenthèses s'emmêlent, enfin il semble.
0
j'ai vérifié les parenthèses il y en avait une de trop en effet mais ce n'est pas ça.
j'ai remis des minuscules à proximité, car visiblement c'est mon alias qui ne fonctionne pas car cela merdouille au niveau du order by (je l'ai viré et ma requête fonctionne.
Donc si quelqu'un a une solution je suis preneur
0
Ton mot Proximite est un alias de table. Il ne peut pas donner argument à un order by, je crois.
Il faut ordonner sur un champ.
0