SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 14.11.2008 14:06:45

BOB41K
Участник
Зарегистрирован: 14.11.2008
Сообщений: 8

Помогите написать запрос

Есть 2 таблицы. Таблица со аэропортов airport , и таблица flight со списком рейсов из одних аэропортов в другие. Вот код создания:


CREATE TABLE airport (
  airport_id int(15) NOT NULL auto_increment,
  airport_name varchar(255) NOT NULL,
  airport_city int(5) NOT NULL,
  PRIMARY KEY  (airport_id),
) TYPE=INNODB DEFAULT CHARSET=cp1251;

CREATE TABLE flight (
  flight_id int(10) NOT NULL auto_increment,
  flight_number varchar(10) NOT NULL,
  flight_price double NOT NULL,
  flight_airport_out int(5) NOT NULL,
  flight_airport_in int(5) NOT NULL,
  PRIMARY KEY  (flight_id),
  INDEX airport_ind (flight_airport_in),
    FOREIGN KEY (flight_airport_in) REFERENCES airport(airport_id) ON DELETE CASCADE,
  INDEX airport_ind2 (flight_airport_out),
    FOREIGN KEY (flight_airport_out) REFERENCES airport(airport_id) ON DELETE CASCADE
) TYPE=INNODB DEFAULT CHARSET=cp1251;


Нам известны 2 значения airoport_city (переменные $city1 и $city2), т.е. 2 города, из первого(переменная $city1) во второй(переменная $city2) нам надо будет лететь.
И на основе этих значений нам надо написать запрос, который бы выводил все рейсы из таблицы flight, на которых мы могли бы долететь из первого города(переменная $city1) во второй(переменная $city2).

Помогите, пожалуйста, ну никак не могу сообразить, как это сделать.

Неактивен

 

#2 14.11.2008 15:06:24

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

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

select * from flight where flight_airport_out = $city1 and flight_airport_in = $city2;
 

Неактивен

 

#3 14.11.2008 15:19:01

BOB41K
Участник
Зарегистрирован: 14.11.2008
Сообщений: 8

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

к сожалению так не пойдет, так как в полях flight_airport_in и flight_airport_out содержатся номера аэропортов, а в переменных $city1 и $city2 - номера городов (такие же номера городов содержаться в поле airport_city)

Отредактированно BOB41K (14.11.2008 15:19:35)

Неактивен

 

#4 14.11.2008 15:57:05

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

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


select * from airport a1, flight,airport a2 where
a1.airport_id=flight_airport_out and flight_airport_in=a2.airport_id
and a1.airport_city=$city1 and a2.airport_city=$city2;
 

Неактивен

 

#5 14.11.2008 18:23:50

BOB41K
Участник
Зарегистрирован: 14.11.2008
Сообщений: 8

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

О, круто, спасибо, работает!

Неактивен

 

Board footer

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