sql >> Database >  >> RDS >> Mysql

Hoe krijg ik beschikbare data met reserveringen?

Als uw reserveringsformulier vraagt ​​om $start- en $einddatum/-tijden voor de reservering, zal deze zoekopdracht aangeven welke laptops beschikbaar zijn gedurende de periode die door die twee datums wordt gespecificeerd:

SELECT items.id, items.name
FROM items
LEFT JOIN types ON items.type = types.id
LEFT JOIN reservations ON reservations.item_id = items.id
WHERE (((reservations.endDate NOT between $start AND $end) and
      (reservations.startDate NOT between $start AND $end)) or
      (reservations.id IS NULL)) and
      (types.id = $laptop_type_id)

De eerste twee between clausules zullen alle laptops vinden waarvan de start-/einddatums niet binnen de gevraagde start-/einddatums vallen - b.v. ze zijn gereserveerd, maar zijn beschikbaar in het opgegeven tijdsbestek. De nulcontrole zal alle laptops vinden die helemaal niet zijn gereserveerd. En de type.id-controle beperkt het zoeken tot alleen laptops.




  1. XAMPP-map verplaatst naar nieuwe computer, krijgt nu (XAMPPERrorDomain error 1.) bij het opstarten van MySQL

  2. hibernate, mysql, glassfish v3 en JTA-gegevensbron

  3. .Net ORM dat goed werkt met MySQL

  4. Reactietijd op verzonden bericht controleren - mogelijk met alleen SQL?