SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.12.2010 12:35:40

Gregory
Участник
Зарегистрирован: 24.12.2010
Сообщений: 2

Помогите объединить запросы

Есть база данных, хранящая в одной таблице список футбольных команд, в другой - список матчей. Допустим, так:
Таблица команд:
team_id int unsigned not null auto_increment primary key,
title char(60),

в ней значения
1 | Спартак
2 | Арсенал
3 | ЦСКА

Таблица матчей:
match_id int unsigned not null auto_increment primary key,
date char(10) not null check (date like '--/--/----'),
team_id_owners int unsigned not null,
foreign key (team_id_owners) references teams(team_id),
team_id_guests int unsigned not null,
foreign key (team_id_guests) references teams(team_id)
Соответственно в ней
1 | 12/05/2010 | 1 | 2
2 | 14/05/2010 | 3 | 1

необходимо одним запросом вывести информацию о матче, показывающую номер матча, дату, команду хозяев и команду гостей.
По отдельности, с использованием 2-х запросов, всё ясно.
1-й запрос:
select match_id as ID, date as Date, title as OwnersTeam from matches,
teams where teams.team_id = matches.team_id_owners order by matches.match_id;
2-й запрос:
select match_id as ID, date as Date, title as GuestsTeam from matches,
teams where teams.team_id = matches.team_id_guests order by matches.match_id;

Но необходимо эти запросы объединить в один, чтобы информация на выходе выглядела примерно так:
ID  |      Date        |  OwnersTeam    |  GuestsTeam
1      12/05/2010          Спартак             Арсенал
2      14/05/2010            ЦСКА               Спартак

Заранее спасибо за помощь.

Отредактированно Gregory (24.12.2010 12:41:32)

Неактивен

 

#2 24.12.2010 16:19:01

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите объединить запросы

Точно так же, только нужно написать алиасы имен повторяющихся таблиц,
чтобы не запутаться:

SELECT ... FROM matches, teams t1, teams t2
WHERE t1.team_id = matches.team_id_owners AND t2.team_id = matches.team_id_guests

Неактивен

 

#3 25.12.2010 19:10:27

Gregory
Участник
Зарегистрирован: 24.12.2010
Сообщений: 2

Re: Помогите объединить запросы

Спасибо большое! Сначала немного не понял синтаксис использования алиасов, уже было хотел задать очередной вопрос. Потом разобрался, всё заработало.
Ещё раз спасибо.

Отредактированно Gregory (25.12.2010 19:12:58)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson