Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Marcondes

[Resolvido] Clausula para pegar o ultimo valor sequencial

Recommended Posts

Ola a todos;

 

Tenho uma tabela assim:

| cod_cliente | cod_observacao |

| 1 | 1 |

| 1 | 2 |

| 1 | 3 |

| 2 | 1 |

| 2 | 2 |

| 2 | 3 |

| 3 | 1 |

| 3 | 2 |

| 3 | 3 |

| 3 | 4 |

 

Eu preciso fazer uma query que me retorne o número da ultima observação inserida para cada cliente, desta forma:

 

| cod_cliente | cod_observacao |

| 1 | 3 |

| 2 | 3 |

| 3 | 4 |

 

Encontrei um post com um caso parecido:

http://forum.imaster...a-mesma-tabela/

mas não é exatamente o mesmo caso.

 

A query que eu precisaria, seria usando a seguinte lógica (falo da lógica, pois a query não da certo):

 

SELECT
   cod_cliente,
   TOP 1 (cod_observacao) AS cod_observacao
FROM observacoes WHERE
   empresa = 999
ORDER BY cod_cliente ASC
GROUP BY cod_cliente, cod_observacao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução (por subquery)

 

select *
from tabela t1
where t1.cod_observacao = (select max(t2.cod_observacao)
                          from tabela t2
                          where t2.cod_cliente = t1.cod_cliente)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.