J'essaie d'obtenir tous les emplacements stockés dans la base de données avec une instruction SQL décrit hereobtenir tous les marqueurs dans un rayon donné sql
Ma déclaration sql est:
SELECT TOP(10)
*,
(
6371 *
acos(
cos(
radians(<cfqueryparam cfsqltype="CF_SQL_Numeric" value="#FORM.latitude#">)
) *
cos(
radians(custLat)
) *
cos(
radians(custLong) -
radians(<cfqueryparam cfsqltype="CF_SQL_Numeric" value="#FORM.longtitude#">)
) +
sin(
radians(<cfqueryparam cfsqltype="CF_SQL_Numeric" value="#FORM.latitude#">)
) *
sin(
radians(custLat)
)
)
) AS distance
FROM customers
HAVING distance < 25
ORDER BY distance;
problème est que je reçois une erreur et ne peut pas comprendre pourquoi ... erreur: Invalid column name 'distance'.
sur cette ligne: radians(<cfqueryparam cfsqltype="CF_SQL_Numeric" value="#FORM.latitude#">)
(la deuxième occurrence)
Pourquoi ai-je cette erreur et comment la réparer?
Ceci donne une erreur différente: La colonne 'newTable.distance' n'est pas valide dans la clause HAVING car elle n'est contenue ni dans une fonction d'agrégat ni dans la clause GROUP BY. –
Désolé. Besoin de mettre la clause GROUP BY entre HAVING et ORDER BY. – ppshein
vous devriez vraiment modifier votre réponse pour contenir le code correct, alors. –