我正在开发预订系统。我的SQL请求有问题。 这是我的表:
这是我的SQL请求:
"SELECT * FROM (SELECT * FROM reservations WHERE (‘2014-01-09' BETWEEN DateDebut AND DateFin ) OR (‘2014-01-24' BETWEEN DateDebut AND DateFin ))AS A WHERE IdProduit = 320"
我对这两个日期的请求结果让我这行: http://sardoukayoub.com/2.png
我想执行我的请求以获得2行。在我的情况下,idreservation = 21和22。
答案 0 :(得分:1)
似乎你想检查两个时期是否重叠:
SELECT * FROM reservations
WHERE DateDebut <= '2014-01-29' AND DateFin >= '2014-01-12'
AND IdProduit = 320;
顺便说一句,在标准SQL中有一个OVERLAPS运算符: - )
答案 1 :(得分:0)
日期
'2014-01-09'
在您的对帐单中选择的不在IdDeproduit = 320
表格中的DateDebut和DateFin之间这应该可以正常工作
SELECT * FROM reservations
WHERE DateDebut <= '2014-01-29' AND DateFin >= '2014-01-12'
AND IdProduit = 320;"