mysql - 如何从一个表中获取出现在另一个表中的值

标签 mysql

我正在尝试查询它转到一个表的位置获取一个值,在本例中是它的 TeamCode 然后获取它并在另一个表中找到 TeamCode名为 HomeTeamAwayTeam 的表列,并返回俱乐部表中的 Team 列。

SELECT  Team
FROM    club
WHERE   TeamCode IN (SELECT DISTINCT    
HomeTeam and Awayteam FROM matches);    

出于某种原因,这段代码在本应超过 20 个时只返回一个条目。

最佳答案

这真的有用吗?试试这个:

SELECT  Team
FROM    club
WHERE   TeamCode IN (SELECT DISTINCT HomeTeam FROM Matches
                     UNION 
                     SELECT DISTINCT AwayTeam FROM Matches);

或存在:

SELECT t.team
FROM club t
WHERE EXISTS(select 1 from Matches s
             where s.awayTeam = t.team 
                or s.HomeTeam = t.Team)  

或者使用内部连接:

SELECT t.team
FROM club t
INNER JOIN Matches s
 ON(s.awayTeam = t.team 
    or s.HomeTeam = t.Team)

关于mysql - 如何从一个表中获取出现在另一个表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36113671/

相关文章:

php - CodeIgniter:如何进行选择(不同的字段名)MySQL 查询

python - 从 perl 转向 python,我想知道 python 是否有类似 DBI 的东西?

mysql - 我无法使用 shell 将值插入到 mysql 表中

php - SELECT COUNT(*) 返回一个对象而不是整数

mysql - SQL 查询 - 计数和求和 - 体育统计

java - 使用服务器游标获取与流式传输之间的区别

php - 使用带绑定(bind)的 PHP 准备语句显示来自 mySQL 的行

mysql - SQL 非重复计数累计

mysql - 从内部连接中只获取一行

mysql - 生成直到 10 的平方数序列