私の SQL は に基づいて結果を制限していないようprice
です。
以前の投稿SQL: Help me optimize my 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 未満の住宅は引き続き表示されます。
理解できない。正確にそのフィールドを制限する WHERE 条件があるのに、上記の SQL が価格が 500000 未満の住宅を表示するのはなぜですか。
ご協力いただきありがとうございます。
私がしたいこと
PRICE
X と Y ... または> Z などの基準に基づいて、home_photo のある家とない家の両方を表示したいのですがSQFT
、これらの基準は、ある家と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