简体   繁体   English

两个字段中两个日期之间的日期

[英]date between two dates in two fields

I am working in hotel domain. 我在酒店域工作。 i was created the inventory page for each hotel along with each rooms. 我创建了每个酒店的库存页面以及每个房间。

In data structure of db i have created with start date and end date. 在db的数据结构中,我创建了开始日期和结束日期。 while inventory we pass the record in between dates. 库存我们在日期之间传递记录。

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND `crs_room_type_detail`.`sdate` >=  '2016-09-21'
AND `crs_room_type_detail`.`edate` <=  '2016-10-04'
GROUP BY `crs_room_type_detail`.`room_type_id`

This the query to get the result. 这个查询得到了结果。 for Rooms we had the sdate : 2016-09-20 and edate : 2016-09-30 this criteria it wont work, suppose i changes condition like sdate <= '2016-09-21' and edate >= '2016-10-04' its wont work some other criteria 对于房间我们有sdate:2016-09-20和edate:2016-09-30这个标准它不会工作,假设我改变条件像sdate <='2016-09-21'和edate > ='2016-10- 04'它不会工作其他一些标准

Try out the following script: 试试以下脚本:

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`, date
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` =
`crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND date(`crs_room_type_detail`.`sdate`) >=  date('2016-09-21')
AND date(`crs_room_type_detail`.`edate`) <=  date('2016-10-04')
GROUP BY `crs_room_type_detail`.`room_type_id`

use between to get date range: 使用之间获取日期范围:

SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
FROM (`crs_room_type_detail`)
JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
WHERE `crs_room_type_detail`.`hotel_id` =  '4'
AND `crs_room_type_detail`.`sdate` between  '2016-09-21' and '2016-10-04'
GROUP BY `crs_room_type_detail`.`room_type_id`

Try This One 试试这一个

 SELECT `crs_room_type_detail`.*, `crs_room_type`.`room_type_name`
    FROM (`crs_room_type_detail`)
    JOIN `crs_room_type` ON `crs_room_type_detail`.`room_type_id` = `crs_room_type`.`room_type_id`
    WHERE `crs_room_type_detail`.`hotel_id` =  '4'
    AND `crs_room_type_detail`.`sdate` BETWEEN '2016-09-21' AND '2016-10-04'
    AND `crs_room_type_detail`.`edate` BETWEEN '2016-09-21' AND '2016-10-04'
    GROUP BY `crs_room_type_detail`.`room_type_id`

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM