URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7367
[ Назад ]

Исходное сообщение
"Объединение нескольких таблиц."

Отправлено Александр , 26-Сен-11 11:19 
Здравствуйте.
Помогите пожалуйста с выборкой данных из трех таблиц.
Есть таблицы drivers, location и parameters.
Необходимо все записи из таблицы drivers с 30 по 50 (id допустим в таблице drivers могут не инкремироваться, а рандомно идти. поэтому надо сделать диапазон по записям), а также чтобы в таблице parameters у этих водителей была скорость (поле speed) равна 50 и в таблице location город, в котором они могли едить (поле city) был Piter.
У меня есть некоторые представления, как это сделать(INNER JOIN), все же надеюсь на вашу помощь. Заранее благодарен.

Содержание

Сообщения в этом обсуждении
"Объединение нескольких таблиц."
Отправлено DeadLoco , 27-Сен-11 01:27 
> Здравствуйте.
> Помогите пожалуйста с выборкой данных из трех таблиц.
> Есть таблицы drivers, location и parameters.
> Необходимо все записи из таблицы drivers с 30 по 50 (id допустим
> в таблице drivers могут не инкремироваться, а рандомно идти. поэтому надо
> сделать диапазон по записям), а также чтобы в таблице parameters у
> этих водителей была скорость (поле speed) равна 50 и в таблице
> location город, в котором они могли едить (поле city) был Piter.


SELECT *
  FROM drivers AS d
  JOIN location AS l  
    ON d.id = l.driver_id
  JOIN parameters AS p
    ON d.id = p.driver_id
  WHERE d.id BETWEEN 30 AND 50
    AND p.speed = 50
    AND l.city = 'Piter';