如何编写这个SQL子查询?

时间:2012-05-05 11:04:32

标签: sql subquery

我的查询运行正常

从这个查询我选择所有餐厅3 KM从我的位置这是我的第一张桌子。

SELECT foodjoint_id,foodjoint_name,open_hours,cont_no,address_line,city ( 3959 * acos( cos( radians('".$userLatitude."') ) * cos( radians( foodjoint_latitude) ) * cos( radians( foodjoint_longitude) - radians('".$userLongitude."') ) + sin( radians('".$userLatitude."') ) * sin( radians( foodjoint_latitude) ) ) ) AS distance
FROM provider_food_joints
HAVING distance < '3' ORDER BY distance LIMIT 0 , 20

但我需要从这个3公里的食物关节中选择AVG等级。

查询也正常运行:

select AVG(customer_ratings) from customer_review where foodjoint_id=".$foodjoint_id 

但是我需要添加这两个查询,通过它我可以选择所有这些食物关节及其评级AVG。

1 个答案:

答案 0 :(得分:1)

只需放置子查询,您就会得到结果:

`SELECT foodjoint_id,foodjoint_name,open_hours,cont_no,address_line,city ( 3959 * acos( cos( radians('".$userLatitude."') ) * cos( radians( foodjoint_latitude) ) * cos( radians( foodjoint_longitude) - radians('".$userLongitude."') ) + sin( radians('".$userLatitude."') ) * sin( radians( foodjoint_latitude) ) ) ) AS distance,

(select AVG(customer_ratings) from customer_review where customer_review.foodjoint_id=provider_food_joints.foodjoint_id) as Customer_Reviews

 FROM provider_food_joints 

HAVING distance < '3' ORDER BY distance LIMIT 0 , 20`