【问题标题】:How can I get the name of the team instead of its ID如何获取团队名称而不是其 ID
【发布时间】:2020-05-31 09:57:42
【问题描述】:

我有两张桌子

团队

  • 团队 ID 作为 PK,int
  • 团队名称

匹配项(桥接表)

  • MatchID 作为 PK,int
  • TeamID_1 作为 PK、FK、int
  • TeamID_2 为 PK、FK、int
  • 比赛获胜者

我怎样才能在决赛桌中获得TeamName 而不是TeamID
已经尝试使用内连接和外连接等。

这是我的查询:

SELECT CONCAT(m.MatchID, m.TeamID_1, m.TeamID_2) AS MatchID, m.TeamID_1 AS 'Team 1', m.TeamID_2 AS 'Team 2', m.MatchWinner AS 'Winner'
    FROM teams t
    JOIN matches m
    ON t.TeamID IN (m.TeamID_1, m.TeamID_2)
    WHERE t.TeamName = 'Fnatic';

决赛桌应该是这样的

MatchID - 第 1 队 - 第 2 队 - 获胜者
18582 - Fnatic - Astralis - Fnatic

【问题讨论】:

  • 请将查询粘贴到问题中.....
  • @e2-e4 现在你可以在那里找到它
  • edit您的问题,以便标题与问题匹配。
  • @O.琼斯希望,现在好多了:)

标签: mysql


【解决方案1】:

您必须使用teams 的2 个副本加入matches

select m.matchid, t1.teamname team1, t2.teamname team2, m.Winner
from matches m 
inner join teams t1 on t1.teamid = m.teamid_1 
inner join teams t2 on t2.teamid = m.teamid_2
where 'Fnatic' in (t1.teamname, t2.teamname)

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 2020-11-12
    • 2018-01-16
    • 2021-09-10
    • 2012-03-02
    • 1970-01-01
    • 2018-06-05
    • 2021-01-12
    相关资源
    最近更新 更多