o/
所以我正在为一个学校项目开发租赁页面,不知道下一步该怎么办因此,我需要实现的功能是,它应该显示尚未预订的汽车。如下所示
SELECT * FROM reservering
INNER JOIN auto
ON auto_id = kenteken
WHERE NOT EXISTS (
SELECT * FROM auto
WHERE kenteken = auto_id
)
它不会返回一个不确定我到底做错了什么的值。不显示有预订的汽车参见下面的代码:
SELECT * FROM reservering
INNER JOIN auto
ON auto_id = kenteken
INNER JOIN merktype
ON merktype_id = id
WHERE auto_id AND ophaaldatum NOT BETWEEN '2022-05-05' AND '2022-05-05' OR retourdatum NOT BETWEEN '2022-05-05' AND '2022-05-07'
现在它多次显示同一辆车,因为同一辆汽车在未来已经有预订了。如果在我搜索的时间之间已经有预订,我希望它不显示,否则我将在同一天有重复的预订。
任何帮助都将不胜感激保重o>
您的主查询应该来自auto
,而不是reservering
。然后您应该测试reservering
中是否有相应的行。
SELECT *
FROM auto AS a
WHERE NOT EXISTS (
SELECT *
FROM reservering AS r
WHERE r.auto_id = a.kenteken
)
或使用LEFT JOIN
SELECT a.*
FROM auto AS a
LEFT JOIN reservering AS r ON r.auto_id = a.kenteken
WHERE r.auto_id IS NULL
仅当值不为';不存在