0
我遇到了执行一个查询的问题,因为我无法正确地将两个模型链接在一起。基于链接模型的经度和纬度的SQL查询半径
ModelA
包含与Location(latitude, longitude)
表的OneToOne关系。数据库是Postgres。
查询失败上:
(
SELECT * FROM "myapp_location"
WHERE id=location_id
) as location,
它给我的消息:subquery must return only one column
下面是该查询:
'''
SELECT * FROM
(
SELECT id, location_id,
(
SELECT * FROM "myapp_location"
WHERE id=location_id
) as location,
(
3956 * 2 *
ASIN(
SQRT(
POWER(
SIN(({latitude}- location.latitude) * pi()/180/2), 2) +
COS({latitude} * pi()/180) *
COS(location.latitude * pi()/180) *
POWER(SIN(({longitude} - location.longitude) * pi()/180/2), 2)
)
)
)
AS distance
FROM {model}
ORDER BY distance
) items WHERE distance <= {miles} '''.format(latitude=latitude, longitude=longitude, miles=miles,
model=model)
有没有人有什么好的建议?非常感激。
谢谢!我最初使用JOIN但错误的地方。 它在“myapp_location.latitude” – MayTheSchwartzBeWithYou