我们有一个酒店预订表,其数据如下
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
你怎么能这样做?
答案 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
条件。