不在,声明不工作(预订)

时间:2018-05-03 11:00:32

标签: php html mysql sql html5

我有很长一段时间试图制作一个SQL查询来检查两个日期之间是否有酒店房间,但是我无法让它工作(它显示MySQL上的错误)。似乎问题出在声明的第一部分。该语句检查不在"预订"中的可用房间ID。表。当我执行语句的第一部分(下面的代码)时,它显示一个空列(没有room-id,只有列名)编辑:mysql没有更新表,这部分问题是没有固定的

我正在查询以显示两个日期之间的可用房间

    SELECT rom_id  
FROM
seka2804_hotelbestilling.rom
where
 rom_id  not in (
                     SELECT * FROM seka2804_hotelbestilling.bestilit_rom;
);

这是整个查询

SELECT rom_id 
                    FROM seka2804_hotelbestilling.rom where romtype_id=$type-rom
                    AND rom_id  NOT IN 
                    (
                    select rom_id
                    from seka2804_hotelbestilling.bestilit_rom 
                    where (innsjekk >= @start and innsjekk < @end)
                    or (utsjekk >= @start and utsjekk < @end))

ER-图表 image-url:https://imgur.com/a/MQxeMgX

1 个答案:

答案 0 :(得分:0)

也许您的日期过滤器应该来自outer query而不是来自subquery

SELECT rm.rom_id  
FROM seka2804_hotelbestilling.rom rm
WHERE NOT EXISTS (SELECT 1 FROM seka2804_hotelbestilling.bestilit_rom 
                  WHERE rom_id = rm.rom_id) AND
      ((innsjekk >= @start and innsjekk < @end) OR
       (utsjekk >= @start and utsjekk < @end));