Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在联接中显示名称而不是ID_Sql_Mysqli - Fatal编程技术网

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