날짜 범위에서 사용 가능한 회의실 찾기

남자 이름

시작일과 종료일이 있습니다.

 $s="YYYY-MM-DD";
 $e="YYYY-MM-DD";

해당 범위에 대해 사용 가능한 회의실을 확인하는 쿼리를 만들어야합니다.

 cObjects , cBookings_details
 cObjects_id = cBookings_details_cObjects_id

나는 정말 여기에 갇혀 정말 도움이 될 것입니다.

내 현재 검색어

 SELECT cObjects.*
FROM cObjects LEFT JOIN cBookings_details ON cObjects.cObjects_id = cBookings_details.cBookings_details_cObjects_id
WHERE cBookings_details.cBookings_details_arrival NOT BETWEEN '".$s."' AND '".$e."' 
AND cBookings_details.cBookings_details_departure NOT BETWEEN '".$s."' AND '".$e."' 
AND cBookings_details.cBookings_details_arrival <> '".$s."' AND cBookings_details_departure <> '".$s."'
AND cBookings_details.cBookings_details_arrival <> '".$e."' AND cBookings_details_departure <> '".$e."'
AND cObjects.cObjects_type < '2'

OR cBookings_details.cBookings_details_id is null AND cObjects_type < '2'
Arth

이것은 일반적인 문제입니다. 실제로이 작업에 대한 가이드를 작성했습니다.

Selecting rows with start and end dates that feature in a chosen interval 
------------------------------------------------------------------------- 

Chosen Interval -  :start_date    (S) 
                   :end_date      (E)

Rows            -  row.start_date (s)
                   row.end_date   (e)

Increasing date-->

         S       E
         |       |           Chosen Interval 

1.     s---e                 Rows we want
2.        s---e                    .
3.            s---e                .
4.     s----------e                .

5.  s--e                     Rows we don't want
6.                s--e             .

LOGIC:
row.end_date >= :start_date AND row.start_date <= :end_date   

사용 가능한 객실을 찾는 경우 LEFT JOIN위의 논리를 사용하여 예약에 대한 객실과 SELECT예약이있는 행입니다 NULL.

귀하의 스키마에 적용하면 다음과 같이 나올 것이라고 생각합니다.

   SELECT o.*
     FROM cObjects o 
LEFT JOIN cBookings_details bd
       ON bd.cBookings_details_cObjects_id = o.cObjects_id
      AND bd.cBookings_details_arrival <= :end_date
      AND bd.cBookings_details_departure >= :start_date 
    WHERE bd.cBookings_details_id IS NULL
     (AND o.cObjects_type < '2') # Double check this is what you want

그건 그렇고, 당신의 스키마로 작업해야하면 울 것입니다. 열에서 테이블 이름을 반복하는 이유는 무엇입니까? 소음 만 추가됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

날짜 범위에서 사용 가능한 회의실 찾기

분류에서Dev

날짜 범위 내에서 사용 가능한 날짜 찾기

분류에서Dev

주어진 날짜 범위에서 사용 가능한 회의실 선택

분류에서Dev

내 SQL 테이블에서 사용 가능한 날짜 범위 찾기

분류에서Dev

날짜 범위에서 두 날짜 사이의 DAYs 데이터 가져 오기

분류에서Dev

날짜 범위 사이의 매장에서 스토리지 랙 가용성 찾기

분류에서Dev

날짜 범위를 사용하여 날짜 범위를 찾기위한 SQL

분류에서Dev

HQL / JPA는 날짜 범위 사이에서 사용 가능한 항목을 찾습니다.

분류에서Dev

주어진 날짜 범위에서주의 날짜 범위 가져 오기

분류에서Dev

MYSQL에서 두 날짜 범위 사이의 레코드 가져 오기

분류에서Dev

스프링 MongoDB의 두 문자열 날짜 범위 사이에서 찾기

분류에서Dev

특정 날짜 범위의 디렉토리에서 가장 큰 파일 찾기

분류에서Dev

max (Audit_Date) 및 날짜가 범위에없는 사용자 찾기

분류에서Dev

JAVA 사용자가 입력 한 날짜에서 요일 찾기

분류에서Dev

Swift 3의 날짜 선택기에서 실행 날짜를 사용하여 매주 반복 가능한 로컬 알림 예약

분류에서Dev

날짜 범위에서 사용 가능한 제품 만 가져옵니다.

분류에서Dev

날짜 범위 사이의 각 행에 대한 최소 및 최대 날짜 시간 가져 오기

분류에서Dev

R에서 사이의 날짜 찾기

분류에서Dev

Google 시트의 쿼리 기능을 사용하여 두 개의 개별 날짜 범위 내에서 필요한 값의 합계

분류에서Dev

날짜 / 시간 범위에서 사용 가능한 첫 번째 날짜 전날 / 월 / 년

분류에서Dev

날짜 범위 사이의 하위 테이블에서 가장 높은 날짜를 기준으로 기본 테이블에서 행 선택

분류에서Dev

날짜 범위 사이의 하위 테이블에서 가장 높은 날짜를 기준으로 기본 테이블에서 행 선택

분류에서Dev

datepicker를 사용하여 jquery 1.6.3에서 날짜 범위 가져 오기

분류에서Dev

SQL Server에서 범위의 최대 날짜 값 가져 오기

분류에서Dev

Laravel의 날짜 범위에서 행 가져 오기

분류에서Dev

자바 스크립트를 사용하여 날짜 범위에서 특정 날짜 가져 오기

분류에서Dev

SQL의 각 범주 및 하위 범주에 대한 최대 날짜 찾기

분류에서Dev

날짜 범위 및 사용자 ID에 대한 DynamoDB 기본 키

분류에서Dev

각 날짜에 대한 열 사이의 고유 쌍 수 찾기

Related 관련 기사

  1. 1

    날짜 범위에서 사용 가능한 회의실 찾기

  2. 2

    날짜 범위 내에서 사용 가능한 날짜 찾기

  3. 3

    주어진 날짜 범위에서 사용 가능한 회의실 선택

  4. 4

    내 SQL 테이블에서 사용 가능한 날짜 범위 찾기

  5. 5

    날짜 범위에서 두 날짜 사이의 DAYs 데이터 가져 오기

  6. 6

    날짜 범위 사이의 매장에서 스토리지 랙 가용성 찾기

  7. 7

    날짜 범위를 사용하여 날짜 범위를 찾기위한 SQL

  8. 8

    HQL / JPA는 날짜 범위 사이에서 사용 가능한 항목을 찾습니다.

  9. 9

    주어진 날짜 범위에서주의 날짜 범위 가져 오기

  10. 10

    MYSQL에서 두 날짜 범위 사이의 레코드 가져 오기

  11. 11

    스프링 MongoDB의 두 문자열 날짜 범위 사이에서 찾기

  12. 12

    특정 날짜 범위의 디렉토리에서 가장 큰 파일 찾기

  13. 13

    max (Audit_Date) 및 날짜가 범위에없는 사용자 찾기

  14. 14

    JAVA 사용자가 입력 한 날짜에서 요일 찾기

  15. 15

    Swift 3의 날짜 선택기에서 실행 날짜를 사용하여 매주 반복 가능한 로컬 알림 예약

  16. 16

    날짜 범위에서 사용 가능한 제품 만 가져옵니다.

  17. 17

    날짜 범위 사이의 각 행에 대한 최소 및 최대 날짜 시간 가져 오기

  18. 18

    R에서 사이의 날짜 찾기

  19. 19

    Google 시트의 쿼리 기능을 사용하여 두 개의 개별 날짜 범위 내에서 필요한 값의 합계

  20. 20

    날짜 / 시간 범위에서 사용 가능한 첫 번째 날짜 전날 / 월 / 년

  21. 21

    날짜 범위 사이의 하위 테이블에서 가장 높은 날짜를 기준으로 기본 테이블에서 행 선택

  22. 22

    날짜 범위 사이의 하위 테이블에서 가장 높은 날짜를 기준으로 기본 테이블에서 행 선택

  23. 23

    datepicker를 사용하여 jquery 1.6.3에서 날짜 범위 가져 오기

  24. 24

    SQL Server에서 범위의 최대 날짜 값 가져 오기

  25. 25

    Laravel의 날짜 범위에서 행 가져 오기

  26. 26

    자바 스크립트를 사용하여 날짜 범위에서 특정 날짜 가져 오기

  27. 27

    SQL의 각 범주 및 하위 범주에 대한 최대 날짜 찾기

  28. 28

    날짜 범위 및 사용자 ID에 대한 DynamoDB 기본 키

  29. 29

    각 날짜에 대한 열 사이의 고유 쌍 수 찾기

뜨겁다태그

보관