我有一个非常复杂的查询需要做,但我似乎无法理解如何完成它,所以我希望有人可以帮助我。
我有两个查询需要合并为一个查询。
我的第一个查询是这样的:
select * from table1 t1
join table2 t2 on t2.outcode = t1.post_code
这会产生包括LAT
和LONG
邮政编码的结果,如下所示:
Name Postcode Lat Long
Taylor CB8 53.829517 -1.780320
这些只是用于测试目的的虚拟值。
我的下一个查询是这个
SELECT * FROM (
SELECT t3.location_name,
calc_distance(t3.lat, t3.lng, t2.lat,t2.lng) as distance
FROM table3 t3, table2 t2
where t2.outcode = :postcode
order by distance) i
where rownum = 1
calc_distance
是一个根据点的 LAT & LONG 计算距离的函数
如果我:postcode
用CB8
它代替会产生这些结果
Location_name Distance
NR Location 56.6
我需要做的是从单个查询中生成以下输出。
Name Postcode Lat Long Nearest_Loc Distance
Taylor CB8 53.829517 -1.780320 NR Location 56.6
如果可能的话,我一生都无法弄清楚如何制作这个。
任何人都可以帮忙吗?