Bonjour,
J'effectue actuellement une requete avec une fonction stocké pour des distances de GPS.
voici ma requete
Au milieu je met un allias "proximite" sur une fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT m.id AS m_id, m.n_rue AS n_rue, m.rue AS rue, m.latitude AS m_latitude, m.longitude AS m_longitude, e.id AS e_id, e.nom AS e_nom, e.logo AS logo, v.code_INSEE AS code_INSEE, v.nom AS v_nom, v.cp AS cp, get_distance_metres('48.86669921875', '2.33332991600037', m.latitude, m.longitude) AS proximite FROM magasin m JOIN enseigne e ON (m.id_enseigne = e.id) JOIN ville v ON (v.code_INSEE = m.code_INSEE) WHERE v.code_INSEE != 75110 AND m.valide = 1 AND proximite < 1000 ORDER BY proximite ASC, e.nom, v.nom, m.rue LIMIT 9
dans la clause ORDER je trie par cette allias et ca fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 get_distance_metres('48.86669921875', '2.33332991600037', m.latitude, m.longitude) AS proximite
Par contre quand je veux limiter dans le where sur cet allias :
J'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2proximite < 1000
Par contre si j'appel la fonction dans la clause WHERE une deuxieme fois :Unknown column 'proximite' in 'where clause'
La ca fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 get_distance_metres('48.86669921875', '2.33332991600037', m.latitude, m.longitude)<1000
Je fais quelque chose de mal ou c'est un bug de mysql?
Partager