2014-11-20 5 views
-1

В продолжение с предыдущим вопросом, мне нужно, чтобы отобразить счет ниже запрос не работаетнесколько таблиц MySQL запросов

Вопрос здесь: 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="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 
"; 
+0

Выгрузите '$ query' и запустите его непосредственно в mysql. Что находится в '$ mid'? – vaso123

+0

Он возвращает ошибку или просто ничего не извлекает? –

+1

Также присоединяйтесь к TblScore s ON m.Team1ID = T1S.TeamID в вашем запросе 2 раза. Вы должны удалить один – Matheno

ответ

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"; 
+0

в TblScore баллы хранятся в 2 строках для каждой команды за матч – Danish

+0

Тогда нужно 2 соединения с TblScore, как я сделал – Serpes

+0

мои извинения, он работает. Благодарю. – Danish