我不太喜欢数据库,并且在从查询中的点对象中提取地理坐标时遇到以下问题。我正在使用MySql。
所以我有一张这样的桌子:
Field Type Null Key Default Extra
------------------------------------------------------------------------------------
id bigint(20) NO PRI auto_increment
localization_id bigint(20) NO MUL
market_name varchar(255) NO
market_cod varchar(255) YES
description text YES
gps point YES
如您所见,查询包含类型为point的gps字段。
运行此查询它工作正常:
SELECT
MD.market_name as market_name,
MD.description as market_description,
X(gps)as longitude,
Y(gps)as latitude
FROM MarketDetails as MD
我正确地检索了X(gps)和Y(gps)函数分别返回的经度和纬度字段。
问题是MarketDetails表有MD别名(因为那时我将与其他表一起加入 JOIN),所以我尝试也给前面的X(gps)和Y(gps)函数加上别名,这样:
SELECT
MD.market_name as market_name,
MD.description as market_description,
MD.X(gps)as longitude,
MD.Y(gps)as latitude
FROM MarketDetails as MD
但执行此查询时,我收到以下错误消息:
#42000FUNCTION MD.X does not exist
那么,有什么问题呢?我错过了什么?如何正确引用具有MD别名的表的 X(gps) 和 Y(gps)?