从MySQL中的联接表中从同一个表中提取多行
我有一个连接用户的计划表(第1、2、3周等)。联接表中的每个星期都有两个单独用户的ID,即用户A和用户B。但是每周也有多行。看起来是这样的: 附表: 我还有一个用户表,它存储了关于用户的所有信息,非常基本的东西。例如: 用户表: 我想做的是根据周ID查询我的日程表,然后返回每周的一系列用户。例如,给我一系列对象中第一周的所有用户,比如[{UserA.name:jason,UserB.name:billy},{UserA.name:billy,UserB.name:jane}],等等从MySQL中的联接表中从同一个表中提取多行,mysql,Mysql,我有一个连接用户的计划表(第1、2、3周等)。联接表中的每个星期都有两个单独用户的ID,即用户A和用户B。但是每周也有多行。看起来是这样的: 附表: 我还有一个用户表,它存储了关于用户的所有信息,非常基本的东西。例如: 用户表: 我想做的是根据周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
这里的一个选项就是将
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
是,抱歉,删除了之前的评论。我的错误。谢谢,我相信这是完美的工作!是,抱歉,删除了之前的评论。我的错误。谢谢,我相信这是完美的工作!
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