不显示预订的汽车,显示未预订的汽车

  • 本文关键字:汽车 显示 mysql
  • 更新时间 :
  • 英文 :


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

仅当值不为';不存在

最新更新