首页 > 解决方案 > SQL:在 2 个表之间进行查询

问题描述

表:比赛

表:团队

我怎样才能得到所有的比分比赛和 2 支球队的名字而不是 id?

SELECT m.matchday, t1.name, t2.name FROM imatches m 
INNER JOIN teams t1 ON t1.id = m.home_team_id 
INNER JOIN teams t2 ON t2.id = m.away_team_id

我的查询没有返回行,所以有人知道为什么?

标签: sql

解决方案


使用下面加入表格两次;

    SELECT
     m.matchday
    ,t1.name AS Team1
    ,t2.name AS Team2
    ,m.score
    FROM dbo.matches m
    INNER JOIN dbo.teams t1 ON t1.id = m.team1_id
    INNER JOIN dbo.teams t2 ON t2.id = m.team2_id

编辑; 我在这个网站上搜索了“sql join同一张表两次”,得到了432次点击,我相信搜索引擎会返回无数次。我会建议多做一些腿部工作


推荐阅读