使用SQL检查房间的可用性

时间:2012-05-29 11:56:29

标签: mysql sql

我想检查某个房间在开始日期和结束日期之间是否可用。我正在使用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

有人可以帮忙吗?

2 个答案:

答案 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 通常很昂贵。