2014-02-05 6 views
0

У меня проблема с запросом MySql. Таблицы, которые я использую, очень большие, поэтому я перечислил простой пример, который затем можно использовать в моей более сложной структуре таблицы.MySql Выбрать из 4 разных таблиц

Допустим, что следующие таблицы.

House(id, name) 
Person(id, name, house_id) 
Car(id, name, person_id, type) 
CarEngine(id, name, hp) 

Каждое лицо принадлежит к дому. Каждый автомобиль принадлежит Лицу. У каждого автомобиля есть CarEngine с тем же самым первичным ключом (id).

Как я могу выбрать только имя из каждой таблицы, когда вы выбрали всю информацию из CarEngine из этих таблиц эффективно, где тип автомобиля - грузовик?

ответ

1
select p.name as PersonNamee, h.name as HouseName, c.name as CarName, 
    e.id as CarID, e.name as EngineName, e.hp 
from Person p 
inner join House h on p.house_id = h.id 
inner join Car c on p.id = c.person_id 
inner join CarEngine e on c.id = e.id 
where c.type = 'truck' 
+0

Есть ли способ использовать select * из таблицы CarEngine? Таблицы, которые я использую, имеют более 50 столбцов, поэтому select * только для этой таблицы будет потрясающим. – user2843198

+0

После некоторых поисковых запросов Google, похоже, я мог использовать CarEngine. * Для этой таблицы выбрать все. Еще раз спасибо! – user2843198

Смежные вопросы