2017-01-19 6 views
1

시작일 2017-01-20 및 종료일 2017-01-25와 같은 이틀에 두 개의 날짜가 차단되었습니다. 이 두 날짜 사이에 속성이 차단되었습니다. 이 두 날짜를 제외하고이 두 날짜를 검색 할 때 남은 날짜를 얻고 싶습니다. 두 날짜 사이에 결과를 얻지 않으려면 어떻게해야하나요?

여기에 내가

select `pd`.*, `pa`.* 
from `property_details` as `pd` left join 
    `property_gallery` as `pg` 
    on `pg`.`property_id` = `pd`.`property_id` left join 
    `property_preblock_details` as `pbd` 
    on `pbd`.`property_id` = `pd`.`property_id` left join 
    `property_amenity` as `pa` 
    on `pa`.`property_id` = `pd`.`property_id` 
where `pbd`.`start_date` >= '2017-01-20' and `pbd`.`end_date` <= '2017-01-25' 

select pd.* from 
    `property_details` as `pd` left join 
    `property_gallery` as `pg` on `pg`.`property_id` = `pd`.`property_id` 
    left join `property_preblock_details` as `pbd` 
    on `pbd`.`property_id` = `pd`.`property_id` 
    left join `property_amenity` as `pa` 
    on `pa`.`property_id` = `pd`.`property_id` 
where `pbd`.`start_date` NOT BETWEEN CAST('2017-01-20' AS DATE) and CAST('2017-01-25' AS DATE) 
AND `pbd`.`end_date` NOT BETWEEN CAST('2017-01-20' AS DATE) and CAST('2017-01-25' AS DATE) 

처럼 MySQL은 웹을 검색하여 시도하지만 날짜 사이의 같은 결과를 얻고있다.

나는 날짜 결과 사이에 있고 싶지 않아, 나는 날짜 결과 사이에 가고 싶지 않아.

Property_rate

id start_date end_date  prop_id 
1  2017-01-20 2017-01-25  1 
2  2017-01-26 2017-01-27  1 
3  2017-01-26 2017-01-28  2 

재산권

prop_id prop_name 
1  test1 
2  test2 

내가 2017년 1월 20일을 선택하면 및 2017년 1월 25일, 나는 단지 'TEST2'속성 정보를 얻으려면. 'test1'세부 정보가 아닙니다.

+1

편집 질문 및 샘플 데이터와 원하는 결과를 제공합니다. –

+0

은 데이터 형식 varchar입니까? – denny

+0

해당 datetime이 없음 – user3668438

답변