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

एचक्यूएल / जेपीए दिनांक सीमा के बीच उपलब्ध आइटम ढूंढते हैं

मैं देख रहा हूँ कि आपकी क्वेरी सही है।

लेकिन अगर आप कार आईडी के आधार पर चयन करना चाहते हैं तो आपको अपनी क्वेरी में कार आईडी को भी एक शर्त के रूप में जोड़ना चाहिए

उदाहरण के लिए

SELECT b.id, b.startDate, b.endDate, b.car.id
FROM BorrowedDate b
WHERE :userDateStart NOT BETWEEN b.startDate AND b.endDate
AND :userDateEnd NOT BETWEEN b.startDate AND b.endDate
AND b.car.id = :carId

या आप इसे ऐसे भी कर सकते हैं

SELECT b.id, b.startDate, b.endDate, c.id
FROM BorrowedDate b INNER JOIN b.car c
WHERE :userDateStart NOT BETWEEN b.startDate AND b.endDate
AND :userDateEnd NOT BETWEEN b.startDate AND b.endDate
AND c.id = :carId

तो आपको पास करना होगा :carId मान 2 के बराबर है

अपडेट करें

यदि आप परिणाम गतिशील प्राप्त करना चाहते हैं तो आप इस SQL ​​​​क्वेरी को आजमा सकते हैं, मैं इसे जल्द ही जेपीक्यूएल के साथ अपडेट कर दूंगा

SELECT b.id, b.startDate, b.endDate, b.car.id
FROM BorrowedDate b
WHERE '2017-04-02 00:00:00' NOT BETWEEN b.startDate AND b.endDate
AND '2017-04-10 00:00:00' NOT BETWEEN b.startDate AND b.endDate
AND b.car.id NOT IN (SELECT DISTINCT bd.car.id FROM BorrowedDate bd WHERE '2017-04-02 00:00:00' BETWEEN bd.startDate AND bd.endDate OR '2017-04-10 00:00:00' BETWEEN bd.startDate AND bd.endDate) 

ये हैं JPQL भी

SELECT model.id, model.startDate, model.endDate, model.car.id
FROM BorrowedDate model
WHERE :userDateStart NOT BETWEEN model.startDate AND model.endDate
AND :userDateEnd NOT BETWEEN model.startDate AND model.endDate
AND model.car.id NOT IN (SELECT DISTINCT b.car.id FROM BorrowedDate b WHERE :userDateStart BETWEEN b.startDate AND b.endDate OR :userDateEnd BETWEEN b.startDate AND b.endDate)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में अधिकतम मान के साथ रिकॉर्ड ढूँढना

  2. मैसकल डेटाबेस में बहु-भाषा श्रेणी शीर्षक

  3. MySQLdb का उपयोग करके आप पायथन से SQL अलगाव स्तर को कैसे बदलते हैं?

  4. MySQL में दशमलव विभाजक बदलें

  5. mysql में GROUP_CONCAT के साथ CONCAT