【问题标题】:Showing names instead of IDs in a join在连接中显示名称而不是 ID
【发布时间】:2017-12-28 20:55:18
【问题描述】:

我正在尝试加入,但无法显示我想要的内容。

这是我当前的代码。

SELECT
   Tournaments.TourneyDate, 
   Tournaments.TourneyLocation, 
   Tourney_Matches.OddLaneTeamID, 
   Tourney_Matches.EvenLaneTeamID
FROM
   Tournaments
INNER JOIN Tourney_Matches ON (Tournaments.TourneyID = Tourney_Matches.TourneyID);

这会输出日期、位置、OddLaneID 和 EvenLaneID。

我需要它们来显示 ID 的关联团队名称,而不是最后两列显示原始 ID。

他们必须引用 Teams 表和名为 TeamNames 的列。

但是,我不知道如何让这个 select 语句正常工作。

SELECT
   Tournaments.TourneyDate, 
   Tournaments.TourneyLocation, 
   Teams.TeamName, 
   Teams.TeamName
FROM
   Tournaments
INNER JOIN Tourney_Matches ON (Tournaments.TourneyID=Tourney_Matches.TourneyID)
INNER JOIN Teams ON (Tourney_Matches.OddLaneTeamID=Teams.TeamID 
                     OR Tourney_Matches.EvenLaneTeamID=Teams.TeamID);

我尝试使用此语句,但它在两个 id 列中显示相同的名称。

这是它的基础。

https://i.stack.imgur.com/mIQX7.png

问题是 - 显示比赛日期、比赛地点、奇数车道球队名称和偶数车道球队名称 比赛中的每场比赛

必须在子查询中完成。

【问题讨论】:

  • 你应该展示你的表格。给我们一个表格中的例子,写下你所期望的。

标签: mysql sql


【解决方案1】:

编辑

如果必须在子查询中完成,那么:

SELECT
   Tournaments.TourneyDate, 
   Tournaments.TourneyLocation, 
   (SELECT TeamName FROM Teams WHERE TeamID = Tourney_Matches.OddLaneTeamID) AS 'Odd Lane Team', 
   (SELECT TeamName FROM Teams WHERE TeamID = Tourney_Matches.EvenLaneTeamID) AS 'Even Lane Team' 
FROM
   Tournaments
   INNER JOIN Tourney_Matches ON (Tournaments.TourneyID=Tourney_Matches.TourneyID)

旧答案

试试这个 (Source of insipration):

SELECT
   Tournaments.TourneyDate, 
   Tournaments.TourneyLocation, 
   OddLaneTeams.TeamName, 
   EvenLaneTeams.TeamName 
FROM
   Tournaments
INNER JOIN Tourney_Matches ON (Tournaments.TourneyID=Tourney_Matches.TourneyID)
INNER JOIN Teams AS OddLaneTeams ON Tourney_Matches.OddLaneTeamID = OddLaneTeams.TeamID
INNER JOIN Teams AS AwayLaneTeams ON Tourney_Matches.EvenLaneTeamID = EvenLaneTeams.TeamID  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多