簡體   English   中英

如何在具有特定別名的表上正確選擇MySql函數值?

[英]How can I correctly select a MySql function value on a table having a specific alias?

我不太喜歡數據庫,但是在從查詢中的對象提取地理坐標時遇到以下問題。 我正在使用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        

如您所見,查詢包含類型為pointgps字段。

運行此查詢可以正常工作:

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別名(因為我將把它與其他表放在一起),所以我嘗試以此方式也對先前的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)?

別名放在列上 ,而不是函數上

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM