उन सभी कमरों को खोजने के लिए जिनकी एक निश्चित समय सीमा में कोई बुकिंग नहीं है, निम्नलिखित पर विचार करें:
SELECT roomID FROM room WHERE roomID NOT IN(
SELECT roomID FROM reservation WHERE startDate < @EndDate AND endDate > @StartDate
)
वहां क्या हो रहा है?
आंतरिक प्रश्न में, मैं उन आरक्षणों के लिए आरक्षण सूची खोज रहा हूं जो कम से कम आंशिक रूप से आवश्यक समय सीमा के भीतर हैं, और उनके कमरे की आईडी प्राप्त करते हैं। और फिर, बाहरी क्वेरी में, मैं रूम टेबल से उन सभी रूम आईडी का अनुरोध करता हूं जो सूचीबद्ध नहीं हैं, यानी उनके पास कोई आरक्षण नहीं है जो कम से कम आंशिक रूप से आवश्यक समय सीमा के भीतर है।
@StartDate और @EndDate को आपको संशोधित करना होगा - आपको वहां अपने चर डालने होंगे।