假设我有 4 个表:collections
、venues
、locations
和 cities
。
一个Collection
属于许多Venues
,一个Venue
属于许多Collections
。
Venue
和 Location
之间存在一对一的关系(通过 id
字段)
一个位置
属于一个城市
,一个城市
有多个位置
。
我想要实现的是这样的场景:
如果我在 cities
表上有一条记录的 id
,我想获取所有 collections
和 venues
与cities
表上的id
关联的每个collection
。
我该如何实现这一目标?
我试图尽可能具体,但如果有些内容仍然含糊其辞。
我正在使用 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
--> 条件
关于mysql - 根据外部表过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143401/