Нужна помощь по выборке данных

Здравствуйте, помогите пожалуйста составить запрос

имеется таблицы (пользователи, дома и квартиры):

  1. users (user_id, user_name)
  2. houses (house_id, house_number, house_street, user_id)
  3. flats (flat_id, flat_number, flat_owner, house_id)

Соотвественно пользователям (users) привязаны дома (houses) и к домам привязаны квартиры (flats).

Возможно ли одним запросом выбрать все квартиры, которые принадлежат пользователю, по сути имеем только идентификатор пользователя.

Понятно, что по идентификатору пользователя можно выбрать список house_id домов принадлежащих этому пользователю и дальше выбирать квартиры, но может есть более простой вариант

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

select * from flats where

select * from flats where house_id in (SELECT house_id FROM houses WHERE user_id=3)

вроде бы выводит то что надо

Думаю, так будет работать

Думаю, так будет работать быстрее:

SELECT f.*
FROM houses h
LEFT OUTER JOIN flats f ON f.house_id = h.house_id
WHERE h.user_id = УСЛОВИЕ

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023