使用 MySQL 按外国 table 的可用性查找属性

Find properties by availability in foreign table using MySQL

下面是我的tables

properties               bookings
==========               ==========
property_id              booking_id
price                    property_id 
city                     checkin_date
                         checkout_date

我有两个 table,一个是出租网站的 Properties 和 Bookings。我想按入住日期、退房日期、价格和位置进行搜索。它将通过 property_id FK 检查外国 table 预订的可用性。

基本上我希望它是这样的:

SELECT property_id,price,city FROM properties 
WHERE 
price > 200,
city = "Toronto",
LEFT JOIN (
   SELECT postid, COUNT( * ) AS total
   FROM bookings
   WHERE checkin_date *** SOMEHTING HERE ****

我确定上面的内容已经不正确了。我是用左连接还是内连接。

SELECT DISTINCT p.property_id, p.price, p.city 
FROM properties AS p
LEFT JOIN bookins AS b ON p.property_id = b.property_id
WHERE p.price > 200
AND p.city = 'Toronto'
AND (b.checkin_date >= '?' OR b.checkout_date <= '?')

替换?与您的搜索日期