【问题标题】:SQL Replace multiple variables from another table in query resultSQL 在查询结果中替换另一个表中的多个变量
【发布时间】:2014-08-18 14:07:17
【问题描述】:

我有一个如下所示的团队日程表:

DBO.SCHEDULE

Game1_Time  |  Game1_Home_Team   | Game1_Away_Team 
===================================================
12:00:00    |         1          |         2

我想用另一个表中存在的相应团队替换团队值:

DBO.TEAM

Team_Number  |  Team_Name
========================
    1        |  The Monsters
    2        |  Bug Bites

尝试这样做: 如何在查询结果中将 Schedule 中的 1 和 2 替换为“The Monsters”和“Bug Bites”?

Game1_Time  |  Home Team         | Away Team 
===================================================
12:00:00    |  The Monsters      |  Bug Bites

【问题讨论】:

  • 我很难在一行中加入两个值。
  • 您可以使用别名多次连接表。

标签: mysql sql


【解决方案1】:

基本上只需做两个连接,一个用于主场名称,一个用于客场名称。

SELECT 
     s.Game1_Time, 
     t.Team_Name as 'Home Team', 
     t1.Team_Name as 'Away Team'
FROM `SCHEDULE` s
JOIN `TEAM` t on t.Team_Number = s.Game1_Home_Team
JOIN `TEAM` t1 on t1.Team_Number = s.Game1_Away_Team

我添加了反引号,因为 schedule 是一个关键字,所以为了不搞乱你应该在表名上使用反引号

DEMO

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多