Похоже, мой SQL не ограничивает результаты на основе price
.
В моем предыдущем посте SQL: помогите мне оптимизировать мой SQL , люди указали, что я должен использовать LEFT OUTER JOIN.
SELECT homes.home_id,
address,
city,
state,
zip,
price,
photo_id,
photo_url_dir
FROM homes
LEFT OUTER JOIN home_photos ON homes.home_id = home_photos.home_id
AND primary_photo_group_id = home_photo_group_id
AND home_photo_type_id =2
AND display_status = true
AND homes.price BETWEEN 500000 AND 1000000
Тем не менее, он по-прежнему показывает дома, цена которых <500000 </h2>
Я не понимаю. Почему в приведенном выше SQL отображаются дома с ценой менее 500000, когда у меня есть условие WHERE для ограничения именно этого поля.
Спасибо за вашу помощь.
Что я хочу сделать
Я хочу отобразить как дома с домами, так и дома без home_photo на основе таких критериев, как PRICE
между X и Y ... или SQFT
> Z. Но эти критерии необходимо применять как к тем домам с homes
без home_photo
Это правильно?
SELECT homes.home_id,
address,
city,
state,
zip,
price,
photo_id,
photo_url_dir
FROM homes
LEFT OUTER JOIN home_photos ON homes.home_id = home_photos.home_id
AND homes.primary_photo_group_id = home_photos.home_photo_group_id
AND home_photos.home_photo_type_id =2
WHERE homes.display_status = true
AND homes.price BETWEEN 500000 AND 1000000