|
|
|
| tables:
games: id, team1_id, team2_id
teams: id, name
как правильно выбрать все игры, сейчас делаю так:
SELECT t1.name team1, t2.name team2
FROM games g
LEFT JOIN teams t1 ON g.team1_id=t1.id
LEFT JOIN teams t2 ON g.team2_id=t2.id
|
| |
|
|
|
|
|
|
|
для: mimik
(22.01.2011 в 19:28)
| | >tables:
>games: id, team1_id, team2_id
>teams: id, name
>
>как правильно выбрать все игры,
Если игры это games, то очевидно так: SELECT * FROM games
сейчас делаю так:
>
>SELECT t1.name team1, t2.name team2
> FROM games g
> LEFT JOIN teams t1 ON g.team1_id=t1.id
> LEFT JOIN teams t2 ON g.team2_id=t2.id
>
логично. Какие-то проблемы возникают? | |
|
|
|
|
|
|
|
для: Trianon
(22.01.2011 в 19:33)
| | нет, все правельно выводит,
просто я не уверен, делаются там лишнее операции или нет | |
|
|
|
|
|
|
|
для: mimik
(22.01.2011 в 19:38)
| | всё достаточно аккуратно.
Если кроме имен команд ничего не требуется - ничего лишнего в запросе нет. | |
|
|
|
|
|
|
|
для: Trianon
(22.01.2011 в 19:41)
| | >всё достаточно аккуратно.
>Если кроме имен команд ничего не требуется - ничего лишнего в запросе нет.
Спасибо.
Там выбираются ещё несколько столбцов, делаю аналогично именам команд, т.е.
SELECT t1.name team1, t2.name team2, t1.country, t2.country, ...
|
| |
|
|
|
|
|
|
|
для: mimik
(22.01.2011 в 19:49)
| | уже в этом фрагменте видно, что добавляете столбики Вы не аналогично name
Потому что не ставите алиасы.
Если будете к полям обращаться по именам (country) - будут проблемы. | |
|
|
|
|
|
|
|
для: Trianon
(22.01.2011 в 19:57)
| | сорри, там неправильно написал, сейчас пишу вот так:
SELECT t1.name team1_name, t2.name team2_name, c1.name team1_country, c2.name team2_country
FROM games g
LEFT JOIN teams t1 ON g.team1_id=t1.id
LEFT JOIN teams t2 ON g.team2_id=t2.id
LEFT JOIN countries c1 ON t1.country_id=c1.id
LEFT JOIN countries c2 ON t2.country_id=c2.id
|
tables:
games: id, team1_id, team2_id
teams: id, name, country_id
countries: id, name | |
|
|
|
|
|
|
|
для: mimik
(22.01.2011 в 20:03)
| | вопрос "как правильно выбрать все игры"... Я не понял, зачем Джона позвали? Почему не выбрать их просто:
SELECT * FROM games
?
Зачем все эти team_name, team2_name, team3_name, team4_name ... team10000000_name? | |
|
|
|
|
|
|
|
для: kosta_in_net
(24.01.2011 в 10:17)
| | > SELECT * FROM games
> ?
сейчас в таблице games есть только айдишники команд, а что вы предлагаете?
> Зачем все эти team_name, team2_name, team3_name, team4_name ... team10000000_name?
а как мне потом обращатся к ним в пхп? | |
|
|
|
|
|
|
|
для: mimik
(24.01.2011 в 10:55)
| | вот я и спрашиваю, что именно нужно получить? Было сказано "выбрать все игры". Айдишники - это не все игры? Я пытаюсь уточнить физический смысл задачи | |
|
|
|