假设我有4个表:collections
,venues
,locations
和cities
。Collection
属于许多Venues
,而Venue
属于许多Collections
。Venue
和Location
之间存在一对一关系(通过id
字段)Location
属于City
,而City
具有许多Locations
。
我要实现的是这种情况:
如果我在id
表上有记录的cities
,我想获取与collections
表上venues
关联的每个collection
中的所有id
和cities
。
我将如何实现?
我试图尽可能具体一些,但如果仍然含糊其辞。
我正在使用Laravel。因此,如果您在Eloquent中提供,我将不胜感激,但SQL查询也可以。
最佳答案
同步您引用的表的键
SELECT co.anycolumn, v.anycolumn FROM collections co, venues v, cities ci, locations lo WHERE co.id = v.refid AND ci.refid = lo.refid AND lo = 'WantedLoc';
简单逻辑:
SELECT
->所需的列值FROM
->引用了表WHERE
->条件