Ver Mensaje Individual
  #4  
Antiguo 23-03-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Hola smessina

Cita:
Empezado por smessina Ver Mensaje
........tengo una tabla llamada cuotas :
Código:
ID    codcredito cuotaNro    importe   pagada
1     1                1 de 3        100       true
2     1                2 de 3        100       true
3     1                3 de 3        100       false
4     2                1 de 3        150       true
5     2                2 de 3        150       false
6     2                3 de 3        150       false
y necesito tomar la primera cuota impaga de cada codcredito

es decir necesito crear una vista que me traiga :

Código:
id codcredito   cuotanro  importe 
3  1                 3 de 3     100      
5  2                 2 de 3     150
que seria algo como :


Código SQL [-]select id, codcredito, cuotanro, importe from cuotas where pagada=false group by codcredito, cuotanro, importe
Cuando se hace el group by por varios campos que no hagan referencia a un grupo, en tu caso por ejmplo id, te devuelve como resultado casi los mismos registros, por lo que la consulta que pones devolvería todos los registros donde pagada sea igual a false.

La consulta que yo haría para obtener los primeros registros de un grupo y que codcredito sea el menor, sería esta:

Código SQL [-]
Select *
From cuotas c1 Inner Join (Select Min(id) as id, codcredito From cuotas 
                                    Where pagada=false Group By codcredito) as c2
        on (c1.id=c2.id)

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita