สอบถามการเขียนการเขียน SQL Query หาห้องว่าง ระบบจองโรงแรม ให้จอง

สอบถามการเขียนการเขียน SQL Query หาห้องว่าง ระบบจองโรงแรม ให้จอง

จะเขียน Query ยังไงดีให้ซ้อนวันกันได้ครับ เป็นโปรเจคจบของผมครับ

ผมลองเอามาจากเว็บนี้

http://www.goragod.com/knowledge/%E0%B9%80%E0%B8%97%E0%B8%84%E0%B8%99%E0%B8%B4%E0%B8%84%E0%B8%81%E0%B8%B2%E0%B8%A3%20Query%20%E0%B8%AB%E0%B8%B2%E0%B8%AB%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%9E%E0%B8%B1%E0%B8%81%E0%B8%A7%E0%B9%88%E0%B8%B2%E0%B8%87.html

เขียนแบบนี้(ตามเว็บ)มีการจองวันที่ 4-7 แต่มันจะนับวันที่ 4 กับ 7 เป็น1วันไปเลย
SELECT room_id FROM dusit_hotel_booking WHERE (DAY(checkIn) BETWEEN 4 AND 7)
OR (DAY(checkOut) BETWEEN 4 AND 7)

ซึ่งในความเป็นจริงครับ
                            4   5   6   7
                                          7  8  9  10

-ถ้าผมจะจองวันที่ 7-10 จริงๆต้องได้เพราะเขาออกพอดี ผมเข้ามาอยู่ต่อ จะเป็นแบบนี้ (ตามปกติ ออกไม่เกินเที่ยง ลูกค้าคนต่อไปเข้าหลัง
จากบ่ายอยู่แล้ว)
- และถ้าจองวันที่ 2-4 ก็ไม่ได้อีกซึ่งตามความจริงต้องได้นิครับ เพราะผมออกวันที่ 4 เขาเข้าวันที่4ตอนบ่าย
                           4   5   6   7
                  2   3   4  
แต่ปรากฏว่าผมต้อง ออกตั้งแต่วันที่3 วันที่4ไม่ได้เฉยเลยครับ
ลองหาหลายเว็บแล้วก็มีแต่เขียนแบบนี้ครับ ในยูทูปก็ยังบอกแบบนี้อีก
เขียนยังไงให้ถูกครับ ขอบคุณครับ
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่