我真的不知道该怎么解释我需要什么,而不为例做,所以我希望我能解释自己不够好!选择加入
可以说我有以下各表在我的MySQL数据库:
buyers
sellers
adverts
addresses
locations
object_addresses
的表格buyers
,sellers
和adverts
都是 “对象”。它们由object_addresses
具有object_type
,object_id
和address_id
与addresses
有关。
的addresses
表具有location_id
将其与位置相关联。
我最终想要的是选择在一定距离内的所有类型的对象(通过使用我在locations
表中的经度和纬度)。
我没有与距离计算本身就是一个问题。但是,我无法选择所有“对象”以及它们各自的地址/位置(因为它们都使用object_address)。
我能够做到以下几点:
SELECT * FROM buyers as b
INNER JOIN object_addresses as oa on oa.ObjectId = b.Id
INNER JOIN addresses as a on oa.AddressId = a.Id
INNER JOIN locations as l on a.LocationId = l.Id
WHERE oa.ObjectType = 'buyer';
我有结合sellers
和adverts
到上面的语句很难。
这可能是一个简单的答案,但我就是不能看到它今晚。任何人都可以将我指向正确的方向吗?
做'object_addresse s'包含卖家和广告的相关列吗? –
我已经更新了我的问题,但object_addresses只是具有object_type(例如买方,卖方或广告),object_id和address_id。 – James
买家和卖家需要哪些领域?所有3种对象类型都有共同的字段吗? – GarethD