[英]“Invalid column name” error in SQL
此代碼有什么問題?
我收到此錯誤:
無效的列名“距離”
碼:
SELECT
Company.CompanyId as Id,
( 6371 * acos( cos( radians(47.8423155) ) * cos( radians( Company.Latitude ) ) * cos( radians( Company.Longitude ) - radians(35.232933) ) + sin( radians(47.8423155) ) * sin( radians( Company.Latitude ) ) ) ) AS Distance
FROM
Company
INNER JOIN
Product ON Company.CompanyId = Product.CompanyId
WHERE
Distance< 5000
ORDER BY
Distance
根據您使用的rdbms ,某些RDBMS不允許在where
和order by
列中引用列別名。 只需使用實際的列名:
SELECT Company.CompanyId as Id,
Company.VisitCount AS myVisitCount
FROM Company
INNER JOIN Product ON Company.CompanyId = Product.CompanyId
WHERE Company.VisitCount < 5000
ORDER BY Company.VisitCount
將選擇內容包裝在子選擇內
select * from(SELECT
Company.CompanyId as Id,
( 6371 * acos( cos( radians(47.8423155) ) * cos( radians( Company.Latitude ) ) * cos( radians( Company.Longitude ) - radians(35.232933) ) + sin( radians(47.8423155) ) * sin( radians( Company.Latitude ) ) ) ) AS Distance
FROM
Company
INNER JOIN
Product ON (Company.CompanyId = Product.CompanyId)
) AS P
WHERE
P.Distance< 5000
ORDER BY
P.Distance;
內部子查詢返回使用別名Distance進行過濾的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.