Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Tìm kiếm phòng miễn phí trong hệ thống đặt phòng

Để tìm kiếm tất cả các phòng không có người đặt trong một khung thời gian nhất định, hãy xem xét những điều sau:

SELECT roomID FROM room WHERE roomID NOT IN(
    SELECT roomID FROM reservation WHERE startDate < @EndDate AND endDate > @StartDate
)

Điều gì đang xảy ra ở đó?

Trong truy vấn bên trong, tôi đang tìm kiếm danh sách đặt phòng cho các đặt phòng ít nhất một phần trong khung thời gian yêu cầu và lấy ID phòng của họ. Và sau đó, trong truy vấn bên ngoài, tôi yêu cầu từ bảng phòng tất cả các ID phòng KHÔNG được liệt kê, nghĩa là họ không có đặt phòng nào ít nhất là một phần trong khung thời gian yêu cầu.

@StartDate và @EndDate sẽ phải được bạn sửa đổi - bạn phải đặt các biến của mình ở đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để thực hiện Mô hình kế thừa trong Cơ sở dữ liệu quan hệ?

  2. MYSQL - CHỌN IP v4 / v6, inet_pton &bin2hex

  3. Trình kích hoạt MySQL không thể cập nhật các hàng trong cùng một bảng mà trình kích hoạt được chỉ định. Cách giải quyết được đề xuất?

  4. Mối quan hệ cha - con trong một bảng

  5. Làm thế nào để tìm giá trị cao nhất thứ n của một cột?