Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta con Valor maximo (https://www.clubdelphi.com/foros/showthread.php?t=9709)

isc_hilda 29-04-2004 21:04:23

consulta con Valor maximo
 
Hola, necesito una orientacion sobre una consulta, tengo el siguiente codigo:

SELECT Gestiones.fecha, Gestiones.num_cuenta, Gestiones.num_visita, Gestiones.contacto, Gestiones.resultado, Gestiones.remesa, Datos.num_cuenta,Datos.fe_asig
FROM Datos, Gestiones
WHERE Datos.num_cuenta = Gestiones.num_cuenta and Datos.fe_asig='15/02/04
este codigo si funciona pero voy a tener varios numeros de cuenta y a su vez esos numeros de cuentas van a tener varios numeros de visitas. Este codigo lo que me hace es traerme todos los numeros de cuenta que se dieron de alta en una fecha especifica, y lo que yo quiero que haga es que solo me traiga de cada numero de cuenta el registro que contenga la ultima visita o sea el valor maximo de gestiones. num_visita. He tratato de hacerlo de la siguiente manera:

SELECT Gestiones.fecha, Gestiones.num_cuenta, MAX(Gestiones.num_visita), Gestiones.contacto, Gestiones.resultado, Gestiones.remesa, Datos.num_cuenta,Datos.fe_asig
FROM Datos, Gestiones
WHERE Datos.num_cuenta = Gestiones.num_cuenta and Datos.fe_asig='15/02/04

Pero me marca error y me dice que no es posible porque estoy utilizando una consulta calculada. Me podrian ayudar. Se los agradeceria mucho.

BYE

jachguate 29-04-2004 21:14:05

Hola.

Cual es el mensaje de error de donde has deducido esto:
Cita:

Empezado por isc_hilda
me dice que no es posible porque estoy utilizando una consulta calculada

:confused:

Lo que si puedo decirte es que has olvidado incluir la clausula group by (que debiera tener todos los otros campos, menos datos.num_visita.

Hasta luego.

;)

delphi.com.ar 29-04-2004 21:16:19

¿Algo así?... posiblemente esto no este del todo bien, pero creo que te puede servir la idea:
Código SQL [-]
SELECT *
FROM Datos D, Gestiones G 
WHERE D.num_cuenta = G.num_cuenta 
AND NUM_VISITA = (SELECT MAX(G2.NUM_VISITA) 
         FROM Gestiones G2
         WHERE G.NUM_CUENTA = G2.NUM_CUENTA)

Saludos!

jachguate 29-04-2004 22:17:20

Acaso este hilo y este otro no tratan de lo mismo??

Veo que no has leido la guia de estilo, o si lo hiciste, pasaste por alto la seccion donde se pide no publicar dos hilos para una misma pregunta...

Veo que estas iniciando en el tema de SQL, y has venido al lugar correcto para encontrar ayuda, pero debes esforzarte por seguir las reglas, a la vez que investigar y hacer tus propias pruebas. Para iniciarte en SQL, te recomiendo que leas algun libro o manual. Podrias comenzar con este

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 10:05:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi