2016-04-19 4 views
1

Вечер, не был уверен, как назвать мой вопрос, но у меня есть проблема, которая сводит меня с ума, и я не могу найти ответ, поэтому я надеюсь, что вы добрые люди могут указать мне в правильном направлении.Alias ​​Column После SQL Query

В настоящее время я делаю сайт спортивных прогнозов на стороне, чтобы узнать больше о PHP и SQL. Поэтому у меня есть следующие базы данных ...

Teams 
id | team_name | active 
    1  team 1  1 
    2  team 2  0 
    3  team 3  1 

Matches 
id | hometeam | homescore | awayteam | awayscore 
    1  3    1   4   0 
    2  5    2   1   3 
    3  1    0   3   2 

Проще говоря. Я хочу, чтобы найти идентификаторы команд в hometeam и awayteam против имени команды в таблице «Команды». Так что я получил это до сих пор:

SELECT * FROM Matches LEFT JOIN Teams AS home ON Matches.hometeam = home.id LEFT JOIN Teams AS away ON Matches.awayteam = away.id 

Что на самом деле сделать это за исключением того, оставляет меня с 2-мя колоннами, называемых «TEAM_NAME» один с домашней командой и один с местной командой.

Итак, мой вопрос в том, могу ли я переименовать столбцы в «home» и «away» или есть способ, который на моей странице я могу различить между этими двумя? Например, у меня есть $row['team_name'], но как указать его в нужную колонку? Если это имеет смысл.

Любая помощь вообще в том, чтобы указывать на меня в правильном направлении, была бы очень признательна, спасибо.

+1

Вы не должны использовать 'SELECT *', но укажите имена столбцов. Тогда вы можете использовать их так же, как вы сглаживаете свои таблицы. – Kateract

ответ

1

вы можете сделать это следующим образом:

SELECT home.team_name as home_team, away.team_name as away_team FROM Matches LEFT JOIN Teams AS home ON Matches.hometeam = home.id LEFT JOIN Teams AS away ON Matches.awayteam = away.id 
+1

Работал как шарм, я знал, что есть простое объяснение. Большое спасибо за вашу помощь. –

+0

Я рад, что это помогло решить вашу проблему :) –

1

Укажите имена столбцов, вместо того, чтобы использовать SELECT *

SELECT home.team_name AS home_team, away.team_name AS away_team, homescore, awayscore 
FROM Matches 
LEFT JOIN Teams AS home ON Matches.hometeam = home.id 
LEFT JOIN Teams AS away ON Matches.awayteam = away.id 

вы should not use SELECT * в запросах, по многим причинам, подробно объясняется в другом месте.

+0

Спасибо за ваш ответ. Я видел, что SELECT * нахмурился, поэтому он будет убирать его, как только все это будет работать, очень ценится. –

Смежные вопросы