Fórum Sql Cliente X Contato - Mestre Detalhe #58088

28/03/2007

0

Pessoal bom dia!

Tenho um cadastro de Cliente onde tenho 3 tabelas para montar o cadastro, seguem as tabelas:

CLIENTE
CONTATO
ENDERECO


Entao o que acontece muito é um CLIENTE ter vários registros vinculados na tabela CONTATO entao preciso montar uma consulta SQL que me retorne o CLIENTE e apenas 1 CONTATO o que esta acontecendo hoje é que meu relatorio esta saindo da seguinte maneira:

MARCELO   (31) 0000-0000
MARCELO   (31) 0000-0001
MARCELO   (31) 0000-0002
MARIA       (31) 1111-0001
MARTA       (31) 2152-4455


Eu não quero isso quero apenas uma linha para cada CLIENTE considerando apenas o ultimo CONTATO cadastrado.

Estou trabalhando com o seguinte SQL:

   select CLI.ID_CLIENTE, CLI.RAZAO_NOME, CLI.FANTASIA_APELIDO,
          ENDE.LOGRADOURO, ENDE.NUMERO, ENDE.COMPLEMENTO, ENDE.BAIRRO, ENDE.CIDADE,
          ENDE.UF, ENDE.CEP, CONT.NOME, CONT.DDD, CONT.TELEFONE, CONT.DDD_CELULAR,
          CONT.CELULAR, CONT.DDD_FAX, CONT.FAX

     from CLIENTE CLI

left join ENDERECO ENDE on (CLI.ID_CLIENTE = ENDE.ID_CLIENTE)
left join CONTATO CONT on (CLI.ID_CLIENTE = CONT.ID_CLIENTE)

    where CONT.ID_CONTATO = ( select max(CONT2.ID_CONTATO)
                                from CONTATO CONT2
                               where CONT2.ID_CLIENTE = CONT.ID_CLIENTE )


Estou tendo problema com este SQL pois quando o CLIENTE nao tem um CONTATO cadastrado ele nao vai aparecer na minha consulta. Alguem sabe como me ajudar a resolver o problema?

Fico no aguardo.

Abraços!!!!


Mmoreira

Mmoreira

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar