我有 3 个名为用户、餐厅、评论的表。这里用户的 id(主键)在餐馆中充当外键 uid,在评论表中 rate_to 与餐馆的 uid 相关联,rate_by 与用户表的 id 相关联。我希望所有餐馆都属于餐馆表中的用户,但按评论表中的 avg_rate 排序。我为此使用了这个查询。
SELECT `Restaurant`.`id`, `Review`.`avg_rating`, `Review`.`rate_to`
FROM `users` AS `User`
LEFT JOIN `reviews` AS `Review` ON (`User`.`id` = `Review`.`rate_to`)
LEFT JOIN `restaurants` AS `Restaurant` ON (`User`.`id` = `Restaurant`.`uid`)
WHERE `User`.`type` = '0' AND `User`.`isdeleted` = '0'
GROUP BY `Review`.`rate_to` ORDER BY `Review`.`avg_rating` DESC
但是当我使用它时,它只给我那些在评论表中有条目的餐厅,但我希望所有不同的餐厅都来自餐厅表,并在评论表中按 avg_rate 排序。
请帮忙。