Mysql从具有相同值的列中进行选择

时间:2018-04-07 12:50:27

标签: php mysql sql

我们有一个酒店预订表,其数据如下

id  room  night        bookingid  timestamp
 1    1    2018-05-01   18         2018-04-07 01:34:41
 2    1    2018-05-02   18         2018-04-07 01:34:41
 3    1    2018-05-05   19         2018-04-07 01:34:40
 4    1    2018-05-06   19         2018-04-07 01:34:40
 5    2    2018-05-01   20         2018-04-07 01:34:39
 6    2    2018-05-02   20         2018-04-07 01:34:39
 7    2    2018-05-03   21         2018-04-07 01:34:37
 8    2    2018-05-04   21         2018-04-07 01:34:37

我们需要实现的是从具有相同预订的结果中选择值

例如: 从表格中选择*晚上> 2018-05-01和bookingid是一样的.... 如果有结果,则应显示:是,否则回显否。 所以在这种情况下应该回答为是

OR: 从表格中选择*晚上> 2018-05-02和bookingid是一样的.... 如果有结果,则应显示:是,否则回显否。 所以这应该回应为NO

你怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用in

select t.*
from table t
where t.bookingid in (select t2.bookingid from table t2 where t2.night > '2018-05-02');

根据您的问题,您是否希望根据子查询中的条件限制外部查询中的结果。如果是这样,只需在外部查询中重复where条件。