我想检查某个房间在开始日期和结束日期之间是否可用。我正在使用webservice函数。此功能返回一个列表,其中包含给定房间的所有预订。如果此列表为空,则房间可用,否则不可用。知道我有这个问题。但它总是回馈我所有的保留。
SELECT * FROM ARTICLES_RESERVERING res
INNER JOIN ARTICLES_ZAAL roo ON res.ZAALID = roo.ID
WHERE roo.ID = @ZAALID
AND res.DATUM_BEGIN >= @DATUM_EINDE OR res.DATUM_EINDE <= @DATUM_BEGIN
有人可以帮忙吗?
答案 0 :(得分:2)
AND
的优先级高于OR
。
将最后一行更改为:
AND (res.DATUM_BEGIN >= @DATUM_EINDE OR res.DATUM_EINDE <= @DATUM_BEGIN)
答案 1 :(得分:0)
SELECT * FROM ARTICLES_RESERVERING res
INNER JOIN ARTICLES_ZAAL roo ON res.ZAALID = roo.ID
WHERE roo.ID = @ZAALID
AND @DATUM_EINDE between res.DATUM_BEGIN and res.DATUM_EINDE
我宁愿使用此查询,因为使用 OR 通常很昂贵。