Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

una consulta que no se como hacer...

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: una consulta que no se como hacer... Responder citando

HOLA!!!

Resulta que tengo una tabla con los campos: fecha, id, mantenimiento.

La consulta que quiero hacer es, cuando fue la ultima vez que se le hizo mantenimiento a X cliente, pero no se como hacerlo o no me acuerdo como..

GRACIAS!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Habla...
la solucion q yo le daria seria que cada vez que hago un update actualizo el la fecha de mantenimmiento!

yo creo q hay otra soluciones que lo hacen autmaticas pero ya dependen del MDBD que estes usando!
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

bueno ya lo hice, hice un query de los mantenimientos del cliente en orden de fecha asi:
Código:
SELECT * FROM control WHERE id = x ORDER BY fecha

y luego me posiciono en el ultimo registro con Query->Last(); y listo, tengo la ultima fecha a la que se le hizo el mantenimiento al cliente
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hablate Bassil, que como andas con la U??

Me parece que esa sentencia es un poco inadecuada ya que guardas toda la lista solo para escoger el ultimo.

La idea seria que hiceras una sentencia adecuada para que de esta forma SQL te arroje solo el que precisas.

Utiliza la funcion MAX(Fecha)

ella te arrojara la linea con la fecha mas alta.
Te dejo solo la funcion para que la uses en tu sentencia y encuentres la logica.

Tambien te recomendaria que leyeras o te esforzaras un poco mas antes de hacer una pregunta, ya que por lo visto haz hecho preguntas que las podrias resolver con solo leer o trabajar un poco.
Intentandolo de 0 es como mas se aprende, mas que te digan la respuesta.

Falou Wink
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

tienes razon cris, la cosa fue que intente hacer eso con la funcion MAX(columna) de SQL y pues eso en C++ me arroja solamente el resultado con el maximo pero solamente de esa columna, en cambio yo necesito saber todo lo que hay en ese registro... no me sirve saber solo la fecha sino el nombre y todo lo que hay en el registro...

pero igualmente gracias man, tratare de leer mas para la proxima...

GRACIAS!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Código:
SELECT * FROM Tabla WHERE Fecha IN (SELECT MAX(Fecha) Fecha FROM Tabla WHERE Id = Cliente)

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

ok gracias angel, una pregunta... esa sentencia sql me puede devolver varios registros???...
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

No te quiero dar la respuesta para q la vayas pillando!

asi como te dice angel da!

Puedes hacer un select con todos los campos que quieras y colocar un where donde fecha sea igual a fecha Maxima!

te arrojara los ultimos actualizados!
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Cri_sys escribió:
Puedes hacer un select con todos los campos que quieras y colocar un where donde fecha sea igual a fecha Maxima!

te arrojara los ultimos actualizados!

De acuerdo en que nos tenemos que acostumbrar a usar el buscador. Wink
pablo_emiliob escribió:
ok gracias angel, una pregunta... esa sentencia sql me puede devolver varios registros???...

Tal cual está la consulta te devolverá todas las filas del cliente con Id = Cliente que tengan como fecha de operación la más alta grabada en la tabla; puede devolverte un, muchas o ninguna... ¡depende!
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

si estas usando mysql, con la consulta q te indica angel puedes agregarle LIMIT
Código:
SELECT ........... LIMIT ... , ...

eso es para limitar el conjunto resultado.
Estoy deacuerdo con Cri_sys.
Si estas usando MYSQL te recomiendo el libro "La biblia de MySQL" el autor es "Ian Gilfillan" tambien esta la guia de referencia de MySQL 5.x dispoinible en varias web para bajar gratis, y el libro "La cara oculta de C++ Builder" q creo que todos lo conocen tambien es gratuito, este ultimo creo que deberia ser obligatoria la lectura para todos los builderos Wink . al primer libro lo puedes en contrar con un programa P2P, si no lo quieres comprar.
En las dos primeras bibliografias que te mensione encontraras una solucion directa para el problema que planteas, tambien tratan temas, procedure, view, trigger, replication etc etc.
saludos tor
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.