我有一个联系表,用于连接用户的计划(第1,2,3周等)。连接表中的每周都有两个独立用户的ID,用户A和用户B.但每周还有多行。所以它看起来像这样:
日程表:
-----------------------------------
| week_id | userA_id | userB_id |
-----------------------------------
| 1 | 1 | 2 |
| 1 | 2 | 3 |
----------------------------------
我还有一个用户表,用于存储有关用户的所有信息,非常基本的东西。所以,例如:
用户表:
-----------------------------------
| id | Name | Nickname |
-----------------------------------
| 1 | jason | jay |
| 2 | billy | bill |
----------------------------------
我想要做的是根据周ID查询我的计划表,然后返回每周的一系列用户。例如,从第1周的一系列对象中给我所有用户,例如[{UserA.name:jason,UserB.name:billy},{UserA.name:billy,UserB.name:jane}],等
我有一种潜在的怀疑,即这将包括多个JOIN语句,但我似乎无法使其正常工作。有谁知道如何构造这个MySQL语句?
答案 0 :(得分:0)
此处的一个选项是将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