Multiple tables MySQL query

2019-09-21 16:56发布

问题:

In continuation with previous question, I need to display score below query does not work

Question is here : Question 1

INSERT INTO TblScore (ScoreID, TeamID, MatchID, Score) VALUES 
(1, 1, 1, 5), 
(2, 2, 1, 6), 
(3, 4, 2, 15), 
(4, 3, 2, 26);

Score query does not work

$query="SELECT 
 m.MatchID, 
 m.MatchDate, 
 m.Team1ID, 
 m.Team2ID, 
 s.TeamID,
 s.MatchID,
 T1.TeamName as TeamName1, 
 T2.TeamName as TeamName2,
 T1S.Score as Team1Score,
 T2S.Score as Team2Score
 FROM TblMatch m  
JOIN TblTeam T1  ON m.Team1ID = T1.TeamID 
JOIN TblTeam T2  ON m.Team2ID     = T2.TeamID  
JOIN TblScore s ON m.Team1ID = T1S.TeamID 
JOIN TblScore s ON m.Team1ID =     T1S.TeamID  
JOIN   TblScore s ON m.Team2ID = T2S.TeamID 
WHERE s.MatchID=$mid
";

回答1:

Could it be?

$query="SELECT 
 m.MatchID, 
 m.MatchDate, 
 m.Team1ID, 
 m.Team2ID, 
 s.TeamID,
 s.MatchID,
 T1.TeamName as TeamName1, 
 T2.TeamName as TeamName2,
 s.Score as Team1Score,
 s2.Score as Team2Score
 FROM TblMatch m  
JOIN TblTeam T1  ON m.Team1ID = T1.TeamID 
JOIN TblTeam T2  ON m.Team2ID     = T2.TeamID  
JOIN TblScore s ON m.Team1ID = s.TeamID AND m.MatchID = s.MatchID
JOIN TblScore s2 ON m.Team2ID = s2.TeamID AND m.MatchID = s2.MatchID 
WHERE s.MatchID=$mid";