Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбрать на основе значений и содержания трех таблиц
 
 автор: _Efim_   (27.04.2009 в 23:28)   письмо автору
 
 

Есть три таблицы

drivers водители
id | age
---------
1 | 25

cars - Их машины
id_car | user_id | carname
------------------------------
1 | 1 | Toyota Carolla C6

rental - Сдача в прокат (номер машины, кто брал на прокат, дата проката)
id_car | user_id | date
------------------------------
1 | 7 | 24.04.2009

Как мне выбрать всё из таблицы машин - для тех машин, чей владелец старше 30 лет,
их не брали в прокат в этот же день, и владелец машины, это не водитель просматривающий список. ($myid = 1)

  Ответить  
 
 автор: _Efim_   (27.04.2009 в 23:29)   письмо автору
 
   для: _Efim_   (27.04.2009 в 23:28)
 

Или подскажите более оптимальный вариант если есть такой при реализации в php, или несколькими отдельными запросами, нежели одним. Потому что страница эта просматривается очень часто, и время формирования такого списка, как и нагрузка - критичны.

Заранее благодарю за отзывчивость и идеи =)

  Ответить  
 
 автор: Trianon   (28.04.2009 в 07:42)   письмо автору
 
   для: _Efim_   (27.04.2009 в 23:28)
 

SELECT c.* 
  FROM сars c
    JOIN drivers d ON c.user_id = d.id
    LEFT JOIN rental r ON c.id = r.id_car AND `date` = $thisday 
  WHERE d.age >= 30 AND d.id <> $myid AND r.id_car IS NULL 


ps1. Если это MySQL - дата в таком формате храниться не должна.
ps2. Перед тем как думать насчет оптимизации, нужно решить задачу в принципе.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования