SQL 在查询结果中替换另一个表中的多个变量
Posted
技术标签:
【中文标题】SQL 在查询结果中替换另一个表中的多个变量【英文标题】:SQL Replace multiple variables from another table in query result 【发布时间】: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
【问题讨论】:
JOIN 我很难在一行中加入两个值。 您可以使用别名多次连接表。 【参考方案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
【讨论】:
以上是关于SQL 在查询结果中替换另一个表中的多个变量的主要内容,如果未能解决你的问题,请参考以下文章
如何把查询一个数据库表中的查询结果插入到另一个数据库表中(高分!)