mysql select 匹配结果

标签 mysql sql

我正在尝试查找两个用户所在的联赛 (lid)。

这是我的表格:

table 上联赛:

*id*    lname
--------------
 1      Hard C
 3      Fun
 5      Crazy

表格匹配:

*userid*   *lid* 
-----------------
   1         1
   4         5
   1         3
   2         1
   4         1
   4         3

*是主键

match.lidleagues.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

关于mysql select 匹配结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794275/

相关文章:

sql - DATE_FROM_UNIX_DATE 和 UNIX_DATE 在 Google BigQuery 上均返回错误

mysql - 如何为在 Mysql 中创建的用户分配连接角色

从控制台调用时 MySQL 请求返​​回结果,但使用 ActiveRecord 请求时为空

mysql - 如何显示每个id列的每条记录4

MySQL 查询根据前 N 行的值选择一行

mysql - 滞后函数中组函数的使用无效

mysql - 从 MySQL 按小时获取条目

sql - 预聚合/已按指标分组的中值计算

php - 返回多于 1 行的子查询

php - 订单插入,同一个订单中的多个项目