[英]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
如您所見,查詢包含類型為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別名(因為我將把它與其他表放在一起),所以我嘗試以此方式也對先前的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.