Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 16-jul-2008, 09:29   #1 (permalink)
xcars sólo puede mejorar
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 531
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
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
xcars está desconectado   Responder Citando
Antiguo 16-jul-2008, 12:33   #2 (permalink)
Colaborador
iislas ha deshabilitado el karma
 
Fecha de Ingreso: julio-2007
Mensajes: 1.249
Respuesta: SELECT sin subconsultas

¿Porque debe eliminar las SUBCONSULTAS?, ¿Ha intentado crear alguna FUNCION?
iislas está desconectado   Responder Citando
Antiguo 16-jul-2008, 13:44   #3 (permalink)
xcars sólo puede mejorar
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 531
Respuesta: SELECT sin subconsultas

Cita:
Iniciado por iislas Ver Mensaje
¿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.....
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
xcars está desconectado   Responder Citando
Antiguo 17-jul-2008, 12:39   #4 (permalink)
Colaborador
iislas ha deshabilitado el karma
 
Fecha de Ingreso: julio-2007
Mensajes: 1.249
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.
iislas está desconectado   Responder Citando
Antiguo 17-jul-2008, 17:27   #5 (permalink)
flaviovich está en el buen camino
 
Avatar de flaviovich
 
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 1.221
Enviar un mensaje por ICQ a flaviovich Enviar un mensaje por MSN a flaviovich Enviar un mensaje por Skype™ a flaviovich
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
__________________
Если можешь читать это, то напиши мне..
No repitamos temas, usemos el Motor de busquedas
flaviovich está desconectado   Responder Citando
Antiguo 23-jul-2008, 16:45   #6 (permalink)
xcars sólo puede mejorar
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 531
Respuesta: SELECT sin subconsultas

Cita:
Iniciado por flaviovich Ver Mensaje
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.....
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
xcars está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 3,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 23:00.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93