#1054 - MySQL 中“where 子句”中的未知列“proximite”
Posted
技术标签:
【中文标题】#1054 - MySQL 中“where 子句”中的未知列“proximite”【英文标题】:#1054 - Unknown column 'proximite' in 'where clause' in MySQL 【发布时间】:2014-03-20 16:01:13 【问题描述】:运行下面的查询时,我在 phpMyAdmin 中遇到了 mysql 错误:
1054 - 'where 子句'中的未知列 'proximite'
我正在使用 mysql 5.6 和 phpMyAdmin 我在使用 Proximite 时出现错误,请帮助我 例如,寻找距离巴黎埃菲尔铁塔最近的 10 家餐厅(纬度:48.858205,经度:2.294359)且距离小于 1 公里。 该数据库包含一个表“restaurants”。该表包含与餐厅的纬度和经度相对应的“lat”和“lng”等字段 这是我的尝试:
SELECT *, get_distance_metres('48.858205', '2.294359', lat, lng)
AS proximite
FROM restaurants
WHERE proximite < 1000 ORDER BY proximite ASC
LIMIT 10
【问题讨论】:
【参考方案1】:您不能在 same 查询的 WHERE
子句中使用该别名。
试试这个:
SELECT *, get_distance_metres('48.858205', '2.294359', lat, lng)
AS proximite
FROM restaurants
WHERE get_distance_metres('48.858205', '2.294359', lat, lng) < 1000
ORDER BY proximite ASC
LIMIT 10
文档:
标准 SQL 不允许在 WHERE 子句中引用列别名。 施加此限制是因为当 WHERE 子句 评估,列值可能尚未确定。
Source
【讨论】:
更多关于 SQL 的信息order of operations it return me null ligne :"MySQL a retourné un résultat vide (aucune ligne)" 当我在条件(100000)中投入很大的价值时它会重新出现,但我希望餐厅只需低于 1 公里(1000 米)以上是关于#1054 - MySQL 中“where 子句”中的未知列“proximite”的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:1054。“where 子句”中的未知列“sdate”
SQLSTATE [42S22]:找不到列:1054 未知列 '0' where 子句
错误代码:1054 'where 子句'中的未知列'billId'
未找到列:1054“where 子句”中的未知列“MONTH(date)”[重复]