[英]Getting error that invalid column name while writing SQL statement in Python
[英]Getting sql error invalid column name while using Having
我正在尝试在 SQL 的 SSMS 中执行此查询,但出现如下错误:
SQL查询:
SELECT
LocationId,
(3959 *
acos(cos(radians(37)) *
cos(radians(Latitude)) *
cos(radians(Longitude) -
radians(-122)) +
sin(radians(37)) *
sin(radians(Latitude)))) AS distance
FROM
[dbo].[UserLocation]
HAVING
distance < 28
ORDER BY
distance
我收到此错误:
消息 207,第 16 层,State 1,第 13 行
列名“距离”无效
有几种方法可以解决这个问题。 希望以下在语法上是正确的,因为显然无法直接测试。
您可以使用派生查询或 CTE,例如
with d as (
LocationId,
(
3959 *
acos(cos(radians(37)) *
cos(radians(Latitude)) *
cos(radians(Longitude) -
radians(-122)) +
sin(radians(37)) *
sin(radians(Latitude)))
) AS distance
FROM dbo.UserLocation
)
select *
from d
where distance < 28
order by distance
你也可以使用申请
select LocationId, distance
from dbo.UserLocation
cross apply(values(
3959 *
Acos(Cos(Radians(37)) *
Cos(Radians(Latitude)) *
Cos(Radians(Longitude) -
Radians(-122)) +
Sin(Radians(37)) *
Sin(Radians(Latitude)))
))v(distance)
where distance < 28
order by distance
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.