userID 和 leagueID 分别是 users 和 leagues 表中引用列的外键。
我想查询数据库以从 player_leagues 表中获取 leagueID 为 1 的所有用户。
这个查询
SELECT leagueID from users join player_league pl WHERE pl.leagueID = 1
因为我是 mySQL 和 SQL 的新手,所以我想知道我做错了什么?我相信这与我的加入有关,但这可能是我设置表格的方式,我不确定。 users 表中没有 leagueID,所以我不确定为什么每个用户的 leagueID 都是 1。
最佳答案
您缺少指示数据库如何连接两个表的 join
子句的 on
部分。默认是笛卡尔积,即将第一个表中的每一行与第二个表中的每一行连接起来。
在这种情况下,您可以加入 userID
:
SELECT u.*
FROM users u
JOIN player_league pl ON u.userID = pl.userID
WHERE pl.leagueID = 1
关于mysql - 使用外键连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37537942/