| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
pablo_emiliob Master


Registrado: 19 Sep 2005Mensajes: 211Ubicación: Barranquilla - Colombia
|
Publicado: Sab 19 Ene, 2008 4:09 pm Asunto: una consulta que no se como hacer... |
|
|
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 |
|
 |
Cri_sys Master


Registrado: 13 Feb 2004Mensajes: 198Ubicación: Maringá, Brazil
|
Publicado: Dom 20 Ene, 2008 4:33 pm Asunto: |
|
|
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 |
|
 |
pablo_emiliob Master


Registrado: 19 Sep 2005Mensajes: 211Ubicación: Barranquilla - Colombia
|
Publicado: Dom 20 Ene, 2008 4:47 pm Asunto: |
|
|
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 |
|
 |
Cri_sys Master


Registrado: 13 Feb 2004Mensajes: 198Ubicación: Maringá, Brazil
|
Publicado: Lun 21 Ene, 2008 1:50 pm Asunto: |
|
|
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  _________________ Read what I mean, not what I write! |
|
| Volver arriba |
|
 |
pablo_emiliob Master


Registrado: 19 Sep 2005Mensajes: 211Ubicación: Barranquilla - Colombia
|
Publicado: Jue 24 Ene, 2008 12:37 am Asunto: |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
pablo_emiliob Master


Registrado: 19 Sep 2005Mensajes: 211Ubicación: Barranquilla - Colombia
|
Publicado: Jue 24 Ene, 2008 7:34 pm Asunto: |
|
|
ok gracias angel, una pregunta... esa sentencia sql me puede devolver varios registros???... _________________ __________________________
C++ RULZ FO' EVA' |
|
| Volver arriba |
|
 |
Cri_sys Master


Registrado: 13 Feb 2004Mensajes: 198Ubicación: Maringá, Brazil
|
Publicado: Vie 25 Ene, 2008 2:23 am Asunto: |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 25 Ene, 2008 8:14 am Asunto: |
|
|
| 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.
| 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 |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Vie 25 Ene, 2008 8:17 pm Asunto: |
|
|
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 . 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 |
|
 |
|