Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   SELECT sin subconsultas (http://www.forosdelweb.com/f87/select-sin-subconsultas-606442/)

xcars 16/07/2008 09:29

SELECT sin subconsultas
 
Reciban un cordial saludo, tengo una duda a ver si podrian darme luces, estoy realizando unas consultas y pues no las puedo lograr hacer sin subconsultas y deseo averiguar si es posible o no, haceras sin estas.
Caso expuesto:
Tenemos una lista de CLIENTES a los cuales se les realizan GESTIONES, y ademas los CLIENTES realizan PAGOS, aqui vemos las tres entidades a trabajar CLIENTES, GESTIONES Y PAGOS, cada cliente posee un numero de CUENTA, con la cual relacionamos con las demas entidades.
Atributos a considerar de GESTIONES: Fecha de Gestion
Atributos a considerar de PAGOS: Fecha del Pago y Valor del Pago

Que necesito?
pues necesito obtener una lista de los CLIENTES con el ultimo PAGO y GESTION
Hablemos con ejemplos:

CLIENTES
Cuenta/Nombre
1) Harold Crow
2) Pedro Suarez
3) Marcos Rivas

GESTIONES
Cuenta/Fecha Gestion
1) 16/07/2008
2) 20/06/2008
2) 25/06/ 2008
3) 14/04/2008
3) 15/05/2008
3) 18/06/2008
1) 14/06/2008
etc

PAGOS
Cuena/Fecha Pago/Valor
1) 15/06/2008 - $10
1) 02/07/2008 - $11
1) 15/07/2008 - $21
2) 14/04/2008 - $60
2) 25/06/2008 - $18
3) 14/06/2008 - $25
3) 12/04/2008 - $30

El resultado de la consulta tendria que ser

Cuenta/ Nombre/ Fecha Ult. Gestion/ Fecha Ult. Pago/ Valor Ult. Pago
1) Harold Crow - 16/07/2008 - 15/07/2008 - $21
2) Pedro Suarez - 25/06/2008 - 25/06/2008 - $18
3) Marcos Rivas - 18/06/2008 - 14/06/2008 - $25

Algo asi, yo lo he podido lograr pero usando subconsultas y deseo lograrlo sin estas.... ya sea modificando mi estructura de tablas o mejorando la consulta ya que es algo que se utiliza muchisimo. Gracias a todos

iislas 16/07/2008 12:33

Respuesta: SELECT sin subconsultas
 
¿Porque debe eliminar las SUBCONSULTAS?, ¿Ha intentado crear alguna FUNCION?

xcars 16/07/2008 13:44

Respuesta: SELECT sin subconsultas
 
Cita:

Iniciado por iislas (Mensaje 2494050)
¿Porque debe eliminar las SUBCONSULTAS?, ¿Ha intentado crear alguna FUNCION?

ah, es que preferiria hacerlo sin subconsultas, porque dependiendo de lo que busco, se me complican demasiado.... es decir, el caso que he expuesto aki es como el caso facil... pero se realizan ciertas operaciones considerando los ultimos pagos y ultimas gestiones.....

iislas 17/07/2008 12:39

Respuesta: SELECT sin subconsultas
 
Entonces, si no desea utilizar SUB-CONSULTAS, deberia ver la posibilidad de crear 2 funciones, 1 que le obtenga la fecha de la ULTIMA GESTION y fecha del ULTIMO PAGO, y otra mas que obtenga el valor del ultimo pago, aunque podria hacerlo la primera funcion.

flaviovich 17/07/2008 17:27

Respuesta: SELECT sin subconsultas
 
Asi no te funciona?
Código:

SELECT C.Cuenta, C.Nombre, MAX(G.[Fecha Gestion]) [ULT_FCH_GEST],
    MAX(P.[Fecha Pago]) [ULT_FCH_PAGO], MAX(P.Valor) [VALOR_ULT_PAGO]
FROM CLIENTES C
    INNER JOIN GESTIONES G ON C.Cuenta=G.Cuenta
    INNER JOIN PAGOS P ON C.Cuenta=P.Cuenta
GROUP BY C.Cuenta, C.Nombre


xcars 23/07/2008 16:45

Respuesta: SELECT sin subconsultas
 
Cita:

Iniciado por flaviovich (Mensaje 2496181)
Asi no te funciona?
Código:

SELECT C.Cuenta, C.Nombre, MAX(G.[Fecha Gestion]) [ULT_FCH_GEST],
    MAX(P.[Fecha Pago]) [ULT_FCH_PAGO], MAX(P.Valor) [VALOR_ULT_PAGO]
FROM CLIENTES C
    INNER JOIN GESTIONES G ON C.Cuenta=G.Cuenta
    INNER JOIN PAGOS P ON C.Cuenta=P.Cuenta
GROUP BY C.Cuenta, C.Nombre


hola, por otras cuestiones habia dejado esto a medias, pero andaba cerca, ahora pruebo tu codigo y voy a ver si lo hago funcionar.....


La zona horaria es GMT -6. Ahora son las 20:36.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.