Sql 在联接中显示名称而不是ID
我正在尝试加入,但我无法显示我想要的内容 这是我当前的代码Sql 在联接中显示名称而不是ID,sql,mysqli,Sql,Mysqli,我正在尝试加入,但我无法显示我想要的内容 这是我当前的代码 SELECT Tournaments.TourneyDate, Tournaments.TourneyLocation, Tourney_Matches.OddLaneTeamID, Tourney_Matches.EvenLaneTeamID FROM Tournaments INNER JOIN Tourney_Matches ON (Tournaments.TourneyID = Tourney
SELECT
Tournaments.TourneyDate,
Tournaments.TourneyLocation,
Tourney_Matches.OddLaneTeamID,
Tourney_Matches.EvenLaneTeamID
FROM
Tournaments
INNER JOIN Tourney_Matches ON (Tournaments.TourneyID = Tourney_Matches.TourneyID);
这将输出日期、位置、OddLaneIDs和EvenLaneIDs
我需要它们显示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列中显示相同的名称
这就是它的基础
问题是-比赛日期,比赛地点,奇数道球队名称,偶数道球队名称
比赛中的每一场比赛
它必须在子查询中完成。EDIT
如果必须在子查询中执行,则:
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)
旧答案 试试这个():
你应该展示你的桌子。给我们一个表格的例子,写下你的期望。更新!查收邮件是的。谢谢:)
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