我有两个MySQL表,“位置”和项目“:
locations
`id` `name` `address` `latitude` `longitude`
现在我使用MySQL SELECT,允许用户输入纬度和经度,并按距离对位置进行排序。这很完美。
现在我有一个项目清单:
items
`id` `location` `title` `description` `display`
现在我想显示每个位置的项目,如果该项目的display
= true。我希望这是有效率的,因为某些位置没有任何项目,或者没有项目设置为display
= true。
答案 0 :(得分:2)
此查询将为您提供按位置
排序的项目列表SELECT items.*, locations.* FROM items JOIN locations ON locations.id = items.location WHERE items.display = 'true' ORDER BY locations.id;
答案 1 :(得分:1)
select location.name, items.title, items.description
from location, items
where location.id = items.location
and items.display = 'true'
order by location.name
我认为这样做符合您的要求,但如果没有其他信息,很难说清楚。例如,items表中的location字段实际上是位置表的外键(从上下文来看并不明显)。