Problema con consulta SQL
Publicado por Garyto (6 intervenciones) el 02/05/2010 02:02:23
Hola a todos!!
Tengo un problema con una sentencia SQL. El otro dia puse un post pero creo q no me explique bien, a ver si ahora lo hago mejor.
En la consulta trabajo con dos tablas las cuales tienen un campo fecha.
Mi consulta recibe como parametro una fecha que introduce el usuario.
Necesito que la consulta devuelva los registros en los que la fecha coincide con la primera tabla, pero que la fecha de la segunda tabla no coincida con la fecha introducida por el usuario, siempre que los registros sean del mismo socio.
Ejemplo:
El socio1 tiene un registro en la tabla1 con fecha 1/1/10 y otro registro en la tabla2 con la misma fecha.
El socio2 tiene un registro en la tabla1 con fecha 1/1/10 y otro registro en la tabla2 con la fecha 30/1/10.
El socio3 tiene un registro en la tabla1 con fecha 15/10/09 y otro registro en la tabla2 con la fecha 1/1/10.
Si el usuario introduce como parametro la fecha 1/1/10 me deberia devolver solo el registro del socio2, ya que este es el único que coincide la fecha introducida por el usuario con la fecha del registro de la tabla1 y no tiene un registro con la misma fecha en la tabla2. Por esta misma razón el socio1 no aparecería, ya que este tiene un registro con la misma fecha en la tabla2 y el socio3 tampoco ya que la fecha de la tabla1 no coincide con la introducida como parametro.
A continuación expongo como he planteado la consulta, aunque ya adelanto que no devuelve los resultados esperados:
"SELECT * FROM (tabla1 INNER JOIN tabla2 ON tabla1.num_socio = tabla2.num_socio) WHERE (tabla1.fecha_devolucion = #fecha#) AND (tabla2.fecha_devolucion <> #fecha#)"
Es para una BD Access.
Espero haberme explicado con claridad.
Gracias y un saludo!!
Tengo un problema con una sentencia SQL. El otro dia puse un post pero creo q no me explique bien, a ver si ahora lo hago mejor.
En la consulta trabajo con dos tablas las cuales tienen un campo fecha.
Mi consulta recibe como parametro una fecha que introduce el usuario.
Necesito que la consulta devuelva los registros en los que la fecha coincide con la primera tabla, pero que la fecha de la segunda tabla no coincida con la fecha introducida por el usuario, siempre que los registros sean del mismo socio.
Ejemplo:
El socio1 tiene un registro en la tabla1 con fecha 1/1/10 y otro registro en la tabla2 con la misma fecha.
El socio2 tiene un registro en la tabla1 con fecha 1/1/10 y otro registro en la tabla2 con la fecha 30/1/10.
El socio3 tiene un registro en la tabla1 con fecha 15/10/09 y otro registro en la tabla2 con la fecha 1/1/10.
Si el usuario introduce como parametro la fecha 1/1/10 me deberia devolver solo el registro del socio2, ya que este es el único que coincide la fecha introducida por el usuario con la fecha del registro de la tabla1 y no tiene un registro con la misma fecha en la tabla2. Por esta misma razón el socio1 no aparecería, ya que este tiene un registro con la misma fecha en la tabla2 y el socio3 tampoco ya que la fecha de la tabla1 no coincide con la introducida como parametro.
A continuación expongo como he planteado la consulta, aunque ya adelanto que no devuelve los resultados esperados:
"SELECT * FROM (tabla1 INNER JOIN tabla2 ON tabla1.num_socio = tabla2.num_socio) WHERE (tabla1.fecha_devolucion = #fecha#) AND (tabla2.fecha_devolucion <> #fecha#)"
Es para una BD Access.
Espero haberme explicado con claridad.
Gracias y un saludo!!
Valora esta pregunta


0