如何在具有特定别名的表上正确选择MySQL函数值



我不太喜欢数据库,我有以下问题从查询中的 point 对象提取地理坐标。我正在使用 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        

您可以看到查询包含 gps 字段 point

运行此查询它可以正常工作:

SELECT
    MD.market_name as market_name,
    MD.description as market_description,
    X(gps)as longitude,   
    Y(gps)as latitude
FROM MarketDetails as MD 

我正确地检索了经度 latitude 分别由 x(gps) y(GPS)返回的字段函数。

问题是 MarketDetails 表具有 MD 别名(因为那时我会与其他表格一起加入),所以我也试图使以前的 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)?

别名在列上,而不是 function

SELECT MD.market_name as market_name,
       MD.description as market_description,
       X(MD.gps)as longitude,   
       Y(MD.gps)as latitude
FROM MarketDetails MD;

相关内容

  • 没有找到相关文章

最新更新