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

संघ क्वेरी के साथ ड्रॉपडाउन

मुझे यह स्वीकार करना होगा कि इसके पीछे के तर्क को समझने के लिए उस प्रश्न को सुलझाने की कोशिश करना कठिन है, लेकिन मुझे लगता है कि निम्नलिखित प्रश्न आपको आवश्यक परिणाम लौटाएगा।

{thistable}.id IN (
    /*Finds booking slots where the booking slot does not overlap
      with any of the existing bookings on that day, 
      or where the booking slot id is the same as the current slot.*/
    SELECT t.id + 3
    FROM fab_booking_slots AS t 
    WHERE t.id = '{fab_booking___book_starttime}'
    OR NOT EXISTS (
        Select 1 
        From  fab_booking_taken AS p1
        Where Date(p1.book_date) = Date('{fab_booking___book_bookingdate}')
        And p1.book_end > t.heuredepart_resa 
        And p1.book_start < t.heurearrivee_resa
    )
)
Order By id Asc;

मुझे पूरा यकीन है कि यह तार्किक रूप से समतुल्य है, और एक बार इस तरह सरलीकृत रूप में व्यक्त करने के बाद यह देखना आसान हो जाता है कि आप अतिरिक्त समय स्लॉट को वापस करने के लिए इसे कैसे प्राप्त कर सकते हैं।

नई बुकिंग के लिए समय स्लॉट पॉप्युलेट करते समय आपके पास उपयोग करने के लिए एक अलग क्वेरी होनी चाहिए, जिसमें कोई मौजूदा समय स्लॉट नहीं है, इस स्थिति में आप केवल एक पंक्ति t.id = '{fab_booking___book_starttime}' OR




  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 CHECK बाधा विकल्प

  2. उबंटू 8.04 पर बहुत सी खुली फाइलें त्रुटि

  3. MySQLdb कनेक्शन की समस्या

  4. चर का उपयोग करते समय किसी क्वेरी में ग्रुप बाय का उपयोग कैसे करें

  5. चेतावनी:PDO::exec() पैरामीटर 1 को स्ट्रिंग होने की अपेक्षा करता है