Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta en Access

Estas en el tema de Consulta en Access en el foro de Bases de Datos General en Foros del Web. Buenas, a ver si me podéis echar una mano. Tengo una BBDD en Access con diversas tablas relacionadas entre sí: empleados, histórico de contratos, etc... ...
  #1 (permalink)  
Antiguo 29/03/2011, 02:34
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Consulta en Access

Buenas, a ver si me podéis echar una mano.

Tengo una BBDD en Access con diversas tablas relacionadas entre sí: empleados, histórico de contratos, etc...

La cosa es que soy un poco novatillo en SQL y querría hacer una consulta que me diera:

Un listado de personal que tenga contratos con una fecha de fin comprendida entre fecha X y fecha Y y que NO tenga contratos posteriores a esa fecha de fin (es decir, no tengan fecha de inicio posteriores a la fecha de fin).

Querría saber más o menos el esquema de este tipo de consulta, si tendría que hacer una doble consulta o algo así.

Gracias por adelantado
  #2 (permalink)  
Antiguo 29/03/2011, 03:42
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Consulta en Access

Con un JOIN, pero lo mejor es que nos pongas la consulta que ya tienes hecha y las dudas que te surgen.
  #3 (permalink)  
Antiguo 29/03/2011, 04:53
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta en Access

SELECT
[HISTORICO CONTRATOS PERSONAL].[IdCódigo Personal],
[HISTORICO CONTRATOS PERSONAL].[Fecha Inicio Contrato],
[HISTORICO CONTRATOS PERSONAL].[Fecha Fin Contrato],
[HISTORICO CONTRATOS PERSONAL].[Horas Semana],
[HISTORICO CONTRATOS PERSONAL].IdCADENA,
[HISTORICO CONTRATOS PERSONAL].idSECCIÓN,
[HISTORICO CONTRATOS PERSONAL].idDEPARTAMENTO,
[HISTORICO CONTRATOS PERSONAL].idCENTRO,
PERSONAL.[Apellido personal],
PERSONAL.[Nombre personal],
CENTROS.CENTRO,
DEPARTAMENTOS.DEPARTAMENTO,
SECCIÓN.SECCIÓN,
[HISTORICO CONTRATOS PERSONAL].[Tipo contrato],
PERSONAL.[Numero Seguridad S],
PERSONAL.NIF,
[HISTORICO CONTRATOS PERSONAL].[Días Vacaciones]
FROM PERSONAL INNER JOIN
(SECCIÓN INNER JOIN
(DEPARTAMENTOS INNER JOIN
(CENTROS INNER JOIN
[HISTORICO CONTRATOS PERSONAL]
ON CENTROS.idCENTRO = [HISTORICO CONTRATOS PERSONAL].idCENTRO)
ON DEPARTAMENTOS.idDEPARTAMENTO = [HISTORICO CONTRATOS PERSONAL].idDEPARTAMENTO)
ON SECCIÓN.idSECCIÓN = [HISTORICO CONTRATOS PERSONAL].idSECCIÓN)
ON PERSONAL.[IdCódigo personal] = [HISTORICO CONTRATOS PERSONAL].[IdCódigo Personal]

WHERE ((([HISTORICO CONTRATOS PERSONAL].[Fecha Fin Contrato]) Between [FechaInicio] And [FechaFin]))

ORDER BY PERSONAL.[Numero Seguridad S], [HISTORICO CONTRATOS PERSONAL].[Días Vacaciones] DESC;


Esa es la consulta en bruto, sin "WHERE" metidos aún.

Objetivo de manera resumida:

- Listado de gente cuyo último contrato sea con fecha de fin en cierta fecha. (Es decir, que no tengan un contrato que acabe después de esa fecha).
  #4 (permalink)  
Antiguo 29/03/2011, 05:09
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Consulta en Access

Pues pones el WHERE fechaFin < fechaquequieras
  #5 (permalink)  
Antiguo 29/03/2011, 05:13
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta en Access

Pero si lo hiciera como me dices (que es de hecho como está hecho en esa consulta) no saldrían los contratos posteriores a esa fecha. Y no "sabría" si hay más o no si los hubiera.

Lo que necesito es que sólo muestre las "líneas" de datos de la gente que su último contrato tiene una fecha fin por ejemplo en febrero.

Etiquetas: access, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.