Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अतिव्यापी बुकिंग SQL

आप यह सोचकर ट्रैक से बाहर हैं कि इसमें शामिल होने से कई पंक्तियों के साथ क्या करना है। समस्या आपके तर्क के साथ WHERE क्लॉज में है। आप तारीखों के संदर्भ में यह नहीं कहते कि आप क्या चाहते हैं, इसलिए यह जानना असंभव है कि समाधान क्या होना चाहिए।

मैंने बुकिंग टेबल को देखने के लिए सरल कर दिया। मुझे दो पंक्तियाँ मिलती हैं जहाँ आप केवल एक की अपेक्षा कर रहे हैं। आपको केवल उस सशर्त का पता लगाना है जो आप वास्तव में चाहते हैं।

mysql> SELECT * FROM booking WHERE NOT(start <= '2018-07-23' AND end >= '2018-07-21');
+-----+------------+------------+-----------+
| uid | start      | end        | apartment |
+-----+------------+------------+-----------+
|   1 | 2018-07-18 | 2018-07-20 |         1 |
|   3 | 2018-07-18 | 2018-07-20 |         2 |
+-----+------------+------------+-----------+
2 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql में एक विशिष्ट पैटर्न के साथ सबस्ट्रिंग निकालें

  2. दिनांक/समय जोड़ने के लिए मानक?

  3. MySQL केस में मल्टीपल इंसर्ट स्टेटमेंट

  4. MySQL आउटपुट में एस्केप लाइन ब्रेक

  5. MySQL प्रतिलिपि पंक्तियों को उसी तालिका में कुंजी मान के साथ बदल दिया गया है (मौजूदा ओवरराइटिंग नहीं)