我试图找到两个用户分开的联赛(盖)。
这是我的桌子:
表联赛:
*id* lname
--------------
1 Hard C
3 Fun
5 Crazy
表匹配:
*userid* *lid*
-----------------
1 1
4 5
1 3
2 1
4 1
4 3
*是主键
match.lid
是leagues.id
的外键(用户不能两次成为同一联盟的一部分)这是我到目前为止(开始)的内容:
SELECT t1.lid, t2.lname
FROM match t1
JOIN leagues t2 on t1.lid = t2.id
到目前为止,我设法加入了两个表并获得了名称。我的最终目标是显示
lid
的两个用户属于同一联盟的位置,例如userid
1和4。userid
1是lid
1和3的成员userid
4是lid
5、1,和3的成员两个用户都在联赛(
lid
)1和3中相遇所以我需要一个查询,仅显示两个用户相遇的联赛。像这样:
lid lname
--------------
1 Hard C
3 Fun
由于
userid
1和4在联赛1和3中相遇,因此结果应表明这一点。我可以为每个用户运行两个查询,并通过php检查两个用户都遇到了哪些联赛,但是我认为运行一个查询更有效。 最佳答案
SELECT m1.lid, l.lname FROM
`match` m1, `match` m2, leagues l
WHERE m1.lid = m2.lid AND m1.lid = l.id
AND m1.userid = 1
AND m2.userid = 4