MySQL - ayuda con subconsulta

 
Vista:

ayuda con subconsulta

Publicado por julio (8 intervenciones) el 27/12/2010 00:18:10
Estimado/s:
Tengo la siquiente tabla TRANSACC, con los campos id-cliente; periodo; id-movimiento;pago;secuencia.

Esta tabla se llena con las transacciones de los clientes; cuando el cliente rectifica los datos de un mismo periodo, se rectifican todos los registros que genero originalmente, y se incrementa la secuencia en uno.

O sea que un cliente llega a tener duplicados, triplicados, ...todos los registros que genero para ese periodo, pero la secuencia siempre sera mayor y es la ultima que vale.

O sea un cliente :
1) Puede tener diferentes secuencias por un mismo periodo
2) Puede tenes la misma secuencia pero por distintos periodos

Por ejemplo la tabla real es similar a este ejemplo:

-----------------------------------------------------------------
id-cli |periodo |id-movimiento|pago|secuencia | fecha
-----------------------------------------------------------------
001 |201010 | 100 |100 | 003 | 15-11-2010
001 |201010 | 101 |120 | 003 | 15-11-2010
001 |201010 | 102 | 99 | 003 | 15-11-2010
001 |201010 | 103 | 75 | 003 | 15-11-2010
001 |201010 | 104 |205 | 003 | 15-11-2010

001 |201010 | 100 | 75 | 001 | 10-10-2010
001 |201010 | 101 | 77 | 001 | 10-10-2010
001 |201010 | 102 |207 | 001 | 10-10-2010
001 |201010 | 103 |359 | 001 | 10-10-2010
001 |201010 | 104 |125 | 001 | 10-10-2010

001 |201009 | 100 | 75 | 000 | 15-11-2010
001 |201009 | 101 | 77 | 000 | 15-11-2010
001 |201009 | 102 |207 | 000 | 15-11-2010
001 |201009 | 103 |359 | 000 | 15-11-2010
001 |201009 | 104 |125 | 000 | 15-11-2010

003 |201010 | 100 | 75 | 000 | 09-10-2010
003 |201010 | 101 | 77 | 000 | 09-10-2010
003 |201010 | 102 |207 | 000 | 09-10-2010
003 |201010 | 103 |359 | 000 | 09-10-2010
003 |201010 | 104 |125 | 000 | 09-10-2010

003 |201008 | 100 | 25 | 000 | 09-10-2010
003 |201008 | 101 | 70 | 000 | 09-10-2010
003 |201008 | 102 |178 | 000 | 09-10-2010
003 |201008 | 103 |300 | 000 |09-10-2010
003 |201008 | 104 |301 | 000 | 09-10-2010

La consulta que arme

Select max(secuencia), id-cli,periodo, id-movimiento, sum(pago) from transacc where fecha>=01-10-2010 and fecha <=31-10-2010 group by id-cliente, secuencia, periodo

(me tira los movimientos totalizados por las distintas secuencias y lo que necesito es solo el registro totalizado de la ulima secuencia)

Tambien intente con esta
Select max(secuencia), id-cli,periodo, id-movimiento, sum(pago) where fecha>=01-10-2010 and fecha <=31-10-2010 and (select max(sencuencia) from transacc )group by id-cliente, secuencia, periodo

(Me devuelve un solo registro de la maxima transacc de toda la tabla)

Creo que si tiene solucion a traves de una consulta, probe diferentes posibilidaes, y hasta aqui no logre lo esperado.

¿Alguien puede ayudarme a arnar la consulta?

Desde ya muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con subconsulta

Publicado por Juan Manuel Castañeda (1 intervención) el 29/01/2011 21:48:17
Intente sacando periodo de la cláusula group by
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar