none
Dificuldade com consulta RRS feed

  • Pergunta

  • Boa tarde senhores, eu necessito realizar uma consulta que o intuito da mesma é retornar os dois maiores movimentos [N_movimento] para o [codido] e [tipo de movimento] informado, entretanto da forma realizada é retornado todos os registros que possuam o mesmo [codigo] e [tipo de movimento], se possível gostaria de uma luz dos colegas.

    ps: A clausula TOP é descartada devido ao join que será realizado.

    Segue uma ilustração da necessidade.

                                   DECLARE @t1 TABLE   ( codigo       int
                                                       , Tp_movimento int
                                                       , N_movimento  int
                                                       , valor        decimal(15,5))
                                               
                                               
                                INSERT INTO @t1 ( codigo
                                                , Tp_movimento
                                                , N_movimento
                                                , valor)
                                VALUES 
                                 (1, 1, 1, 5)
                               , (1, 1, 2, 10)
                               , (1, 1, 3, 55)
                               , (1, 1, 4, 13)
                                                 
                                                 SELECT *  
                                                    FROM @t1
                                                    WHERE EXISTS ( SELECT MAX(N_movimento)
                                                                        , MAX(N_movimento)-1
                                                                                FROM @t1
                                                                                WHERE codigo       = 1
                                                                                 AND  Tp_movimento = 1
                                                                                )
                                                    AND  codigo       = 1
                                                    AND  Tp_movimento = 1
                                            ORDER BY N_movimento DESC 

    Retorno atual:
    
    codigo	Tp_movimento	N_movimento	valor
    1	   1		   4	       13,00000
    1	   1		   3	       55,00000
    1 	   1		   2	       10,00000
    1	   1	 	   1	       5,00000
    
    
    
    Retorno esperado:
    
    codigo	Tp_movimento	N_movimento	valor
    1	    1	           4	       13,00000
    1	    1	           3	       55,00000
    
    
    


    domingo, 14 de outubro de 2012 17:05

Respostas

Todas as Respostas