SQL - duda con consulta sql

 
Vista:
sin imagen de perfil

duda con consulta sql

Publicado por metalero661 (1 intervención) el 16/12/2013 08:36:53
Hola tengo un abm que administra una biblioteca hecho con java y persistencia, ya esta terminado bastante funcional pero tengo el siguiente problema, quiero crear un instrucción sql para actualizar el estado suspendido(si no devuelve un libro por 30 días) de la tabla socio.

socio( fechaingreso,baja,ultimacuota,dni,legajo, suspendido)

pero en el UPDATE necesito usar los date de la tabla prestamo

prestamo( idprestamo,dni,fechaprestamo,isbn,nroejemplar,salalectura,fechadevolucion)

Intento de instruccion fallido sql:
1
select * from socio where extract(day from current_date)- extract(day from prestamo.fechaprestamo')>30;


Herramientas que use:
postgres 9.3.0;
blue j;

Cualquier idea o sugerencia me sirve, estaré encarando mal el problema?
Desde ya gracias sepan disculpar si estoy posteando algo incorrectamente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

duda con consulta sql

Publicado por leonardo_josue (1173 intervenciones) el 16/12/2013 21:23:17
Hola metalero661:

Estás muy cerca de la respuesta, pero extraer el día de la fecha no te sirve absolutamente de nada. Si la fecha del préstamos es por ejemplo el 16 de diciembre de 2012, con la manera en que lo haces de dará una diferencia de 0 días, ya que no estás considerando el año ni el mes... lo que tienes que obtener es la DIFERENCIA ENTRE LA FECHA DE PRESTAMO Y LA ACTUAL... imagina que el préstamo lo realizaste el 5 de diciembre de 2013, puedes hacer lo siguiente:

1
SELECT current_date - '2013-12-05';


El resultado de esto es 11, que es el número de días que han transcurrido desde la fecha inicial hasta la fecha actual...

de esta manera sí es válida la comparación que haces > 30...

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar