「プロパティ」と「オファー」の 2 つのテーブルから対話する mysql クエリがあります。
「offers」テーブルは、一意のコードによって、またはプロパティが配置されている郡または地域によって特定のレコードを参照することによって、プロパティ テーブル内のレコードと一致させることができます。
これが私のクエリの例です...
SELECT *, ROUND(((3959 * acos(cos(radians(51.1080390)) * cos(radians(latitude)) * cos(radians(longitude) - radians(-4.1610140)) + sin(radians(51.1080390)) * sin( radians(latitude)))) * 2),0)/2 AS `distance`
FROM `properties` AS prop
LEFT JOIN `offers` ON prop.code = offers.the_property
LEFT JOIN `offers` AS offsCnty ON prop.county = offsCnty.the_county
LEFT JOIN `offers` AS offsRgn ON prop.region = offsRgn.the_region
HAVING distance <= 2.5
ORDER BY `sleeps` ASC, `distance` ASC
LIMIT 0, 10
オファー テーブルでは、3 つの列がthe_property
/ the_county
/the region
適切なオファーとプロパティをリンクするために重要です。オファーが郡全体に適用される場合、このフィールドthe_property
は空白になります。それ以外の場合、オファーが特定の物件に対するものである場合、このフィールドには固有の物件コードが含まれます。
複数のJOINを使用することで解決できると思いましたが、3つのメインoffer
フィールドのいずれかが空の場合、結合はoffers
テーブルフィールドに対して「NULL」を返します。
これはどのように解決できますか??
どうもありがとう