SELECT 3 TABELAS

Firebird

18/09/2008

Boa tarde pessoal!

Estou quebrando a cabeça com um select aqui.

Tenho 3 tabelas

1 - TBL_REGIOES
-CODIGO
-REGIAO

2 - TBL_CLIENTES
-CODIGO
-NOME
-COD_REGIAO

3-TBL_LANCAMENTOS
-CODIGO
-COD_CLIENTE
-COD_REGIAO
-DEBITO_ATUAL

Eu preciso selecionar o ultimo lancamento de cada cliente e exibir COD_CLIENTE, NOME, REGIAO, DEBITO ATUAL.

Eu identifico o ultimo lancamento pelo codigo do lancamento

Exemplo

Codigo: Cod_cliente Cod_regiao debito_atual
1 1 1 100,00
2 1 1 150,00 ------> ultimo lancamento do cliente

Alguem tem uma luz?

Obrigado!


Fmalaquias

Fmalaquias

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

18/09/2008

tente assim:
select
  lanc.COD_CLIENTE,
  cli.NOME,
  reg.REGIAO,
  lanc.DEBITO_ATUAL
from
  TBL_CLIENTES cli
left join
  TBL_LANCAMENTOS lanc on (lanc.COD_CLIENTE = cli.CODIGO)
left join
  TBL_REGIOES reg on (reg.CODIGO = lanc.COD_REGIAO)
where
  lanc.CODIGO = (select max(lanc2.CODIGO)
                 from TBL_LANCAMENTOS lanc2
                 where lanc2.COD_CLIENTE = cli.CODIGO)



GOSTEI 0
POSTAR