错误SQL查询检查可用空间

时间:2013-12-18 06:21:47

标签: 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 tbReservationDetail as RD where ArrivalDate < '2013-12-20' AND DepartureDate > '2013-12-17')

这是错误:

unknown table status: TABLE_TYPE

出于我的目的:我希望在两个日期之间获得房间。

所以,我怎么做?

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

3 个答案:

答案 0 :(得分:1)

您可以尝试:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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