sql >> Databáze >  >> RDS >> Mysql

Překrývající se rezervační SQL

Jste mimo trasu a myslíte si, že to má co do činění s více řádky ze spojení. Problém je s vaší logikou v klauzuli WHERE. Neříkáte, co chcete, pokud jde o data, takže není možné vědět, jaké by mělo být řešení.

Zjednodušil jsem to tak, že jsem se podíval na rezervační tabulku. Chápu dva řádky, kde očekáváte pouze jeden. Vše, co musíte udělat, je zjistit podmínku, kterou opravdu chcete.

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. Pole složeného typu jako vstup uložené procedury předaný C# Npgsql

  2. Mysql se po aktualizaci dockeru nespouští v kontejneru dockeru v systému MacOS

  3. Získání org.hibernate.exception.JDBCConnectionException:nelze provést dotaz ani přes JNDI

  4. Další problémy s mysqli. Číselné údaje ve výsledcích