Mysql-通过单个查询进行多选

时间:2019-09-23 22:48:58

标签: mysql arrays join

我有一个保存事件的表。前端将所有事件显示为卡片。一场比赛,一张卡。我还有一个表可以容纳订阅。一个事件,许多订阅。

是否可以通过单个查询检索所有事件及其所有订阅?

当前,我执行查询以获取所有事件,然后运行循环并为每个事件运行查询以获取其订阅。因此,随着事件数量的增加,子查询(和数据库连接)的数量也会增加。这就是为什么我想知道是否有可能将其简化为单个查询。

event                     subscription
+----------+              +------------+
id                        id
name                      user
location                  age
date                      event_id

... ...

尝试让我的问题更轻松:P

为简化起见,考虑一下Facebook帖子。 Facebook显示该帖子以及所有喜欢它的用户,对吗?那么,有没有办法在一个查询中带出所有帖子和喜欢每个帖子的所有用户名?

1 个答案:

答案 0 :(得分:2)

您似乎正在寻找简单的JOIN。假设表event_id中的列subscription映射到id的{​​{1}},则如下所示:

event