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

Problemas con unas consultas

Estas en el tema de Problemas con unas consultas en el foro de Mysql en Foros del Web. Buenas chicos. Hace un tiempo que empecé con esto de las bases de datos. Y hace unos días hice dos consultas, 1 de actualizar y ...
  #1 (permalink)  
Antiguo 26/08/2010, 18:49
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 0
Problemas con unas consultas

Buenas chicos. Hace un tiempo que empecé con esto de las bases de datos. Y hace unos días hice dos consultas, 1 de actualizar y otra de eliminar.

Pues bien, las consultas funcionan pero no como deberían hacerlo.
La de actualizar lo que hace es marcar como devueltos los libros devueltos, pero cuando ejecuto, me marca los que no debería. El código es el siguiente:

UPDATE Libros, Alquiler
SET Libro_devuelto = TRUE
WHERE Fecha_de_devolucion>DATE();

Y la consulta para eliminar lo que hace es, o lo que debería, eliminar a los clientes que ya han devuelto el libro. Pero al ejecutarlo no parece pasar nada. Aquí tenéis el código:

DELETE C.*
FROM Clientes AS C, Alquiler AS A
WHERE A.Fecha_de_devolucion>DATE();

Yo aparentemente a simple vista yo veo bien los códigos, pero no se que puede fallar en ambos.

Nada pues, gracias por leer mis dudas y espero que alguien pueda despejármelas.

Gracias por vuestro tiempo y atención.
  #2 (permalink)  
Antiguo 27/08/2010, 01:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Problemas con unas consultas

No relacionas las tablas en la consulta y por qué campo lo haces. No sé qué clase de campo es Fecha_de_devolucion ni a qué tabla pertenece (supongo DATE y que pertenece a la tabla Alquiler). Tampoco nos dices de qué tabla es Libro_devuelto y cuál es su naturaleza, es decir, qué tipo de campo es. Imagino que es de la tabla Libros, pero debes decirnos qué tipo de campo es, si varchar, binary o cómo es.
UPDATE Libros INNER JOIN Alquiler ON libros.idlibro = Alquiler.idlibro
SET Libros.Libro_devuelto = TRUE
WHERE Alquiler.Fecha_de_devolucion>=CURDATE();

Por otra parte no entiendo por qué quieres borrar los clientes que hayan devuelto libros. Parece lógio que vuelvan a alquilar y tendrás que volver a meterlos. Por otra parte, un cliente puede tener un libro prestado y haber devuelto otros. Eso que quieres hacer no tiene sentido para mí. Piénsalo bien. La consulta se puede hacer, claro, pero yo no te lo aconsejo. Lo que sí puedes hacer es sacar mediante consulta qué clientes tienen prestados libros. Tienes además errores de sintaxis y tampoco relacionas bien al borrar, pero antes debes decirnos para qué quieres hacer eso.
  #3 (permalink)  
Antiguo 27/08/2010, 05:44
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Problemas con unas consultas

Gracias por la ayuda amigo, me servio el de UPDATE. Y sobre el de eliminar creo que tienes razón, no lo habia pensado. Gracias por el consejo.

Etiquetas: Ninguno
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 14:00.