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. Как да подчертая промените/разликите в един текстов параграф от другия?

  2. Импортиране на данни от excel в mysql база данни

  3. как да получите йерархичното меню от mysql

  4. jQuery Свързани Сортируеми списъци, Запазване на реда в MySQL

  5. MySql - първо подредете по стойност на низа