我有一个连接表,用于连接用户的日程表(第1、2、3周等)。联接表中的每个星期都有两个单独的用户(用户A和用户B)的ID。但是,每周还有多个行。所以看起来像这样:
时间表表:
-----------------------------------
| week_id | userA_id | userB_id |
-----------------------------------
| 1 | 1 | 2 |
| 1 | 2 | 3 |
----------------------------------
我还有一个用户表,其中存储了有关用户的所有信息,这是非常基本的东西。因此,例如:
用户表:
-----------------------------------
| id | Name | Nickname |
-----------------------------------
| 1 | jason | jay |
| 2 | billy | bill |
----------------------------------
我想做的是根据“星期” ID查询我的时间表,然后为每个“星期”返回一系列用户。例如,给我第一个星期的所有用户,对象是一系列对象,例如[{UserA.name:jason,UserB.name:billy},{UserA.name:billy,UserB.name:jane}],等等。
我暗中怀疑这将包含多个JOIN语句,但是我似乎无法使其正常工作。有谁知道如何构造此MySQL语句?
这里的一种选择是将Schedule
表两次连接到User
表,关系中的每个用户一个联接。
SELECT u1.Name,
u2.Name
FROM Schedule s
INNER JOIN User u1
ON s.userA_id = u1.id
INNER JOIN User u2
ON s.userB_id = u2.id
WHERE s.week_id = 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句