Dúvida de agrupamento

Oracle

03/12/2007

Tenho o sql abaixo, para pegar as mudanças de salários.


SELECT FF.CD_FUNDACAO ,
FF.NUM_INSCRICAO ,
FF.CD_PLANO ,
MIN ( FF.ANO_REF || FF.MES_REF ) AS CD_REF ,
FF.SRC


FROM CC_FICHA_FINANCEIRA FF

WHERE FF.CD_FUNDACAO = ´01´
AND FF.NUM_INSCRICAO = ´000269292´
AND FF.CD_PLANO = ´0035´
AND FF.ANO_REF || FF.MES_REF > ´200607´
AND FF.ANO_REF || FF.MES_REF < ´200707´
AND FF.CD_TIPO_CONTRIBUICAO = ´01´

GROUP BY FF.CD_FUNDACAO ,
FF.NUM_INSCRICAO ,
FF.CD_PLANO ,
FF.SRC


Funciona no caso de o participante não voltar a ganhar o salário o mesmo salário.

Assim:

01/2007 - 1000,00
02/2007 - 1000,00
03/2007 - 1200,00
04/2007 - 1200,00
05/2007 - 1200,00
06/2007 - 1200,00

Neste caso ele traz 01/2007 - 1000,00 e 03/2007 - 1200,00

Mas se o participante voltar a ganhar o mesmo salário tenho a mesmo resposta.

01/2007 - 1000,00
02/2007 - 1000,00
03/2007 - 1200,00
04/2007 - 1200,00
05/2007 - 1000,00
06/2007 - 1000,00

Alguém poderia me ajudar , sem o uso de cursor?


Vectorusso

Vectorusso

Curtidas 0

Respostas

Schmitz.bt

Schmitz.bt

03/12/2007

Olá vectorusso.


O seu problema é que você está utilizando a função MIN para o período.
Portanto ele nao irá agrupar pela data e sim apenas mostrar o menor período que o participante recebe aquele determinado salário.

Espero ter ajudado.
Grande abraço


GOSTEI 0
POSTAR