我有一个查询,它创建两个这样的别名文件:
(CASE WHEN `venueID` > 0 THEN `venueLongitude` ELSE `specialLongitude` END) AS `longitude`
(CASE WHEN `venueID` > 0 THEN `venueLatitude` ELSE `specialLatitude` END) AS `latitude`
它决定了在某个查询中使用哪个经度和纬度(表中有许多 JOIN,但是为了这个示例,唯一的 JOIN 是从Gigs
执行 aNATURAL LEFT JOIN
的表到名为Venues
.
该位工作正常并返回我有兴趣进行距离计算的场地坐标,然后我可以订购。
距离场如下所示:
((ACOS(SIN($lat * PI() / 180) * SIN(`latitude` * PI() / 180) + COS($lat * PI() / 180) * COS(`latitude` * PI() / 180) * COS(($lon - `longitude`) * PI() / 180)) * 180 / PI()) * 60 * 1.1515)
但是当我运行查询时,我得到了错误Unknown column 'latitude' in 'field list'
。有谁知道我如何执行这样的查找。
ps
虽然我知道我可以使用地理空间查询,但我想以一种以后可以用于进一步查询的方式知道答案,即
SELECT *,(CASE WHEN `a` > 0 THEN `a` ELSE `b` END) AS `x`,(`x` MOD 3) AS `y` FROM `Foo`