我只想选择与查询不匹配的数据。选择与查询不匹配的数据
说我有两个表:
汽车:
id int PRIMARY KEY IDENTITY
make varchar(255) NOT NULL
model varchar(255) NOT NULL
pricegroup varchar(1) NOT NULL
出租:
id int PRIMARY KEY IDENTITY
sdate date NOT NULL
edate date NOT NULL
car_id int NOT NULL
sdate租金是出租的开始日期 - edate是结束日期。
我想在指定的时间段内找到所有可用的汽车。
这个查询几乎工程:
SELECT * FROM cars WHERE id NOT IN
(SELECT car_id FROM rentals WHERE sdate <='2013-04-28' AND edate >='2013-04-30')
但是,它只能与特定日期的作品。如果您输入的时间段为2013-04-25和2013-05-30所有车辆都会出现,即使其中一些车辆在此期间预订。
我使用MS SQL 2012
看起来像你的'不存在',因为它应该 – 2013-04-25 10:06:16