Consulta de unión. Problema con orden cronológico.

Tengo una tabla (viajes) con varios campos (viajantes, domicilio, inicio viaje y fin viaje). Necesito hacer una consulta (creo que será de unión) para obtener el dato de cuántos viajantes por mes/año están de viaje. La consulta la haré siempre por doce meses a partir de un mes determinado con lo que no será por año natural sino por ejemplo desde julio hasta junio del año siguiente. Para computar un viajante por mes es suficiente que esté un día en ese mes (no todo el mes).
Ej. Viajante inicio viaje fin viaje
        Luis                             3/8/08                     3/4/09
       Marta                           10/7/08                   6/6/09
La consulta siempre toma como fecha de inicio de los 12 meses la primer fecha por orden cronológico del campo "inicio viaje". Tendría que salir en la consulta el siguiente dato:
Enero 2009: 2
Febrero 2009: 2
Marzo 2009: 2
Abril 2009: 2
Mayo 2009: 1
Junio 2009: 1
Julio 2008: 1
Agosto 2008: 2
Septiembre 2008: 2
Octubre 2008: 2
Noviembre 2008: 2
Diciembre 2008: 2
Si fuera posible, me gustaría que pegarais el código SQL.

1 Respuesta

Respuesta
1
Lo único que te haría falta es una tabla con los meses (fechainiciomes, literalmes). La consulta, si lo he entendido bien es sencilla:
select max(literalmes),year(fechainiciomes),count(*)
from tviajes, tmeses
where fechainiciomes between [inicio viaje]-day([inicio viaje]) and [fin viaje]
group by fechainiciomes
Lo estoy haciendo en ACCESS. ¿Puedes explicarlo en vista diseño? Porque no me aclaro. No entiendo "year" y "fechainiciomes" ni la tabla tmeses.
Primero léete despacito la explicación que doy, ese código lo puedes pegar en el sql de la consulta y luego irte a diseño y cambiar lo que quieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas