Consulta de rango de fechas SQL de MS Access

Ecléctico

Estoy trabajando en una herramienta de reserva de aulas. Un componente central es la capacidad de comparar el rango de fechas solicitado con las reservas existentes, para garantizar que no haya superposición. He leído varias preguntas relacionadas con el rango de fechas aquí, y estudié la explicación e implementación de Salman del álgebra de intervalos de Allen ( Consulta SQL para encontrar rangos de fechas superpuestos (en conflicto) ) hasta que lo entendí. Aquí hay una versión simplificada de lo que se me ocurrió.

tblRooms
roomID      room
5           110
30          178

tblReservations
reservedID  fkRoom dateIn     dateOut
1           5      3/10/2017  3/15/2017
2           5      3/1/2017   3/3/2017
4           5      4/1/2017   4/30/2017

SELECT DISTINCTROW tblRooms.roomID, tblRooms.room
FROM tblRooms LEFT JOIN tblReservations 
ON tblRooms.roomID = tblReservations.fkRoom
WHERE NOT Exists (
  SELECT DISTINCT tblRooms.roomID 
  FROM tblRooms 
  WHERE ((tblReservations.[dateOut] >= #3/3/2017#) 
  AND (#3/9/2017# >= tblReservations.[dateIn])));

Obtengo retornos inconsistentes. Estas fechas excluirán la habitación 110, como deberían. Otras entradas de prueba (# 3/4/2017 # y # 3/10/2017 #, # 4/1/2017 # y # 4/14/2017 #) no lo harán. He probado combinaciones de "DONDE NO (...", "DONDE Existe () = Falso", etc.

Trabajo en una red muy restrictiva, donde no puedo introducir plantillas a voluntad; mis únicas opciones cuando creo una base de datos son "En blanco" y "Web", así que tengo que hacer las mías en esto. Agradezco cualquier ayuda.

Steve Lovell

¿Puedes probar lo siguiente?

SELECT DISTINCTROW tblRooms.roomID, tblRooms.room
FROM tblRooms
WHERE NOT Exists (
  SELECT 1
  FROM tblReservations 
  WHERE
  tblReservations.fkRoom = tblRooms.roomID
  AND ((tblReservations.[dateOut] >= #3/3/2017#) 
  AND (#3/9/2017# >= tblReservations.[dateIn])));

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Consulta de rango de fechas SQL de MS Access

La consulta de rango de fechas de SQL Server no funciona

Postgres: consulta SQL por rango de fechas de filtro

MS Access VBA SQL SELECT * INTO tempTbl DONDE Stuff = "" Y OtherStuff ENTRE Rango de fechas

Excluyendo el rango de fechas en la consulta SQL

Consulta SQL con rango de fechas Hombre Mujer

La consulta SQL no devuelve el rango de fechas correcto

Consulta SQL con rango de fechas Hombre Mujer

Consulta SQL para el rango de fechas como columnas

Consulta sql para generar fechas de pago mensuales dentro de un rango de fechas

Consulta SQL de MS Access

Doctrina: consulta con rango de fechas

Consulta ecto para el rango de fechas

mongodb: consulta en un rango de fechas

Consulta SQL entre un rango de fechas y un rango de tiempo en MariaDB

Consultar MS Access usando Excel VBA, SQL BETWEEN consulta de fechas

La consulta de rango de fechas de SQL Server no funciona como se esperaba

Consulta SQL para obtener registros dentro de un rango de tiempo para un período / rango de fechas en particular

sql: consulta condicional basada en la columna de otra tabla (rango de fechas)

sql: consulta condicional basada en la columna de otra tabla (rango de fechas)

Convertir consulta de MS Access a SQL Server

Consulta copiada de SQL desde MS Access

Consulta JPA para trabajar con rango de fechas de postgresql

Consulta de rango de fechas con Lucene 7

sqldf: consulta de datos por rango de fechas

Consulta de CosmosDB en rango de fechas + índice

Indicando rango de fechas

Indicando rango de fechas

Ajuste automático de rangos de fechas al ingresar un nuevo rango en MS-SQL

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo