我有一个预订表,用户将记录插入其中 用户不会选择类型的汽车。
插入记录后,我想要一些触发器来执行以下操作: -
日期和车辆组合到日志文件的数据和车辆是独一无二的(日期,汽车)所以同样的预订不能两次,因此汽车不能被双重预订。
所以我的问题是我现在如何获得触发器以选择该类型的下一辆可用车?
我可以通过说Car.carid!= Log.carid选择下一辆车,但是没有使用日期作为第二次检查,所以我不能在另一个日期使用车辆。
简单地在检查之间放置AND并不起作用 在哪里Car.carid!= Log.carid AND Reservation.date!= C.datewhen
非常感谢一些指导!
答案 0 :(得分:0)
我认为这个问题就是你所追求的......
SELECT MIN(c.carid)
FROM all_cars c
WHERE c.type = 'CAR TYPE'
AND NOT EXISTS
(SELECT 1
FROM reservation r
WHERE r.date = 'THE DATE'
AND r.carid = c.carid)
如果查询返回NULL值,则没有可用的汽车。 或者您可以取下MIN并使用返回的第一条记录。