【发布时间】:2021-10-22 11:27:20
【问题描述】:
我有一个名为 stores 的 Postgresql 表,其中包含商店的位置(纬度、经度),我可以使用查询从商店中找到附近的商店。但是,我找不到创建“就绪”生成表的查询,该表为每个商店创建附近商店列表。 这是我用来获取附近商店列表的查询:
select mds.id, mds.store_name
from public.store mds,
(select latitude, longitude from public.store where id = '3f6077c0-c56b-4570-883f-4c16dc19855e') as st,
sqrt(111.12 * (mds.latitude - st.latitude) * 111.12 * (mds.latitude - st.latitude) + (111.12 * (mds.longitude - st.longitude) * cos(st.latitude / 92.215)) * (111.12 * (mds.longitude - st.longitude) * cos(st.latitude / 92.215))) as distance
where distance <= 20
order by distance
limit 100
我无法将“3f6077c0-c56b-4570-883f-4c16dc19855e”替换为 public.store.id。 store表的表列是:
| id | store_name | latitude | longitude |
请帮我处理这个请求。非常感谢。
【问题讨论】:
标签: sql postgresql postgis