SELECT a.user_id ,a.job_id ,min(a.distance) as distance FROM ( SELECT a.address ,abs(d.active_lat-b.lat)+ abs(d.active_lon-b.lon) AS distance ,c.job_id ,d.id AS user_id ,d.user_name FROM ( SELECT * FROM xrl_tag_recommand.job_onsite_store WHERE ds = '20210808' ) a JOIN ( SELECT * FROM xrl_tag_recommand.job_onsite_job_store WHERE ds = '20210808' ) b ON (a.id = b.store_id) JOIN ( SELECT * FROM xrl_tag_recommand.job_onsite_behavior_order WHERE ds = '20210808' ) c ON (c.job_id = b.job_id) JOIN ( SELECT * FROM xrl_tag_recommand.job_onsite_user_big WHERE ds = '20210808' ) d ON (c.user_id = d.id) ) a GROUP BY a.user_id,a.job_id