Php SQL查询检查可用房间时出错

Php SQL查询检查可用房间时出错,php,sql,Php,Sql,大家好。我在网上预订酒店的任务中遇到了问题,因此我有很多类似的表格: tbRoom(RoomID,RoomName,...) tbReservation(ResID,ResDate,....) tbReservationDetail(ResID,RoomID,ArrvialDate,DepartureDate,....) 当我这样编写sql查询时,我的问题是错误 Select * from tbRoom as R where R.RoomID !=(select RD.RoomID from

大家好。我在网上预订酒店的任务中遇到了问题,因此我有很多类似的表格:

tbRoom(RoomID,RoomName,...)
tbReservation(ResID,ResDate,....)
tbReservationDetail(ResID,RoomID,ArrvialDate,DepartureDate,....)
当我这样编写sql查询时,我的问题是错误

Select * from tbRoom as R where R.RoomID !=(select RD.RoomID from tbReservationDetail as RD where ArrivalDate < '2013-12-20' AND DepartureDate > '2013-12-17')
我的目的是:我想在两天之间得到一间空房

那我该怎么办

请帮帮我,谢谢你的帮助……

你可以试试:

Select * from tbRoom as R where R.RoomID NOT IN (select RD.RoomID from tbReservationDetail as RD where RD.ArrivalDate < '2013-12-20' AND RD.DepartureDate > '2013-12-17')
说明:首先,您应该使用NOT IN代替!=,因为子查询是列表,其次,在子查询中,应该在WHERE条件中使用表别名RD。

使用not in代替!=并且不需要命名表

Select * from tbRoom where RoomID not in (select RoomID from tbReservationDetail where ArrivalDate < '2013-12-20' AND DepartureDate > '2013-12-17')

您必须将phpadmin版本更新为3.4.0
更新版本,它将解决您的问题

您忘记在中附加图像![在此处输入图像描述][1]您的phpmyadmin版本是什么?我的PHP版本是2.2它仍然有错误…请在这里输入您当前的错误未知表格状态:表格类型未知表格状态:创建时间请共享您的完整PHP脚本或您的问题的更全局上下文我必须使用它,它也会出现类似以下错误。。。
Select * from tbRoom where RoomID not in (select RoomID from tbReservationDetail where ArrivalDate < '2013-12-20' AND DepartureDate > '2013-12-17')