多表MySQL查询

时间:2014-11-20 11:50:07

标签: php mysql multiple-tables

继续上一个问题,我需要在查询下面显示得分不起作用

问题在于: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);

分数查询不起作用

$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 个答案:

答案 0 :(得分:0)

可能吗?

$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";