2009-07-22 2 views
0

у меня есть 2 таблицы, как это:
[игры]
GameID
hometeamid
awayteamid
счет
MYSQL Query множественный идентификатор для разрешения имен между двумя таблицами

и

[команда]
teamid
название команды

Как бы я создать запрос для вывода что-то вроде:
[хозяева] [Гости] [оценка]
49ers зарядные 28-17

Вы видите, мне нужно решить 2 названия команды с 2 идентификатора команды в одной таблице и выводятся только имена. Заранее спасибо за вашу помощь!

ответ

0

Это должно работать для вас:

 
select t1.teamname, t2.teamname, g.score 
from games as g 
    left outer join team as home_team 
     on g.hometeamid = home_team.id 
    left outer join team as away_team 
     on g.awayteamid = away_team.id 
0
SELECT (SELECT teams.teamname FROM teams WHERE teams.teamid=games.awayteamid) AS awayteam,  
(SELECT teams.teamname FROM teams WHERE teams.teamid=games.hometeamId) AS hometeam, score 
FROM games 
WHERE gameid = '1' 
2
SELECT 
    ht.TeamName AS HomeTeam, 
    vt.TeamName AS AwayTeam, 
    g.Score 
FROM 
    games g INNER JOIN teams ht 
    on g.hometeamid = ht.teamid 
    INNER JOIN teams vt 
    on g.awayteamid = vt.teamid 

я предлагаю называть таблицы «игры» и «команда» - так как я не поклонник множества имен таблиц. Я не одинок в этом мнении, но это действительно стиль/предпочтение.

+0

Я сделал это таким образом, очень похожий ВЫБРАТЬ t1.teamname, t2.teamname, забьет из игр, команд t1, t2 команды WHERE games.hometeamid = t1.teamid И games.awayteamid = t2.teamid –

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