Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите свободни дати с резервации?

Ако вашият формуляр за резервация изисква $начална и $крайна дата/часове за резервацията, тази заявка ще покаже кои лаптопи са налични през периода, определен от тези две дати:

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)

Първите две between клаузите ще намерят всички лаптопи, чиито начални/крайни дати не попадат в рамките на исканите начални/крайни дати - напр. те са запазени, но са налични в посочения период от време. Проверката на нула ще намери всички лаптопи, които изобщо не са запазени. А проверката на type.id ограничава търсенето само до лаптопи.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Надстроен до Ubuntu 16.04 сега зависимостите на MySQL-python са нарушени

  2. MySQL/PHP - пагинация на номера на страници Показвайте само 10 страници на моменти

  3. Генериране на диапазон от числа в MySQL

  4. Алтернативи на pt-query-digest - MySQL управление на заявки и наблюдение с ClusterControl

  5. Низът е извън индекс с SQL разработчик