Fórum Consulta SQL de 2 tabelas #327248

10/08/2006

0

Prezados,

Estou tentando criar uma consulta em 2 (Clientes e Telefones) tabelas que me retorne dados do Cliente como Nome Cidade Bairro e 1 telefone de Contato.

Nas Tabelas existem os segintes campos:
Tabela Clientes
---------------
CodCli Char 6
CodEmp Char 3
Nome Char 50
Rua Char 50
Bairro Char 30
Cidade Char 30
Estado Char 2
Cep Char 8

Tabela Telefones
----------------
CodCli Char 6
CodEmp Char 3
NumTel Char 10
OrdTel Int //Nesta campo é para saber qual a ordem dos telefones 1 é o principal 2 o secundário e assim por diante.


O Problema é que qdo eu mando selecionar todos os Clientes com seus respectivos telefones principais (OrdTel = 1) o SQL me retorna apenas os clientes que possuem Telefones cadastrados mas eu quero que ele me retorne todos os clientes e os que possuirem telefone cadastrado que me retorne o telefone principal

Eu estou utilizando a seguinte Query mas não esta funcionando:
Select CLI.CODCLI, CLI.NOME, CLI.BAIRRO, CLI.CIDADE, CLI.ESTADO, TEL.NUMTEL
From Clientes.db Cli, Telefones.db Tel
Where not CLI.CODCLI = TEL.CODCLI and CLI.CODEMP= TEL.CODEMP
Order By CLI.NOME

Alguém sabe como resolver este problema?
Aceito todas as sugestões.

Agradeço a todos pela atenção.

Que Deus continue a nos Abençoar.


Garoto Programa

Garoto Programa

Responder

Posts

10/08/2006

Beppe

O Padrão SQL define os outer join´s, verifique em uma referência como funcionam.

Basicamente é isso:
Select CLI.CODCLI, CLI.NOME, CLI.BAIRRO, CLI.CIDADE, CLI.ESTADO, TEL.NUMTEL 
From Clientes.db Cli
left outer join Telefones.db Tel on CLI.CODEMP= TEL.CODEMP
Order By CLI.NOME

Depois da palavra on, coloque a condição de junção das tabelas(como elas se relacionam).


Responder

Gostei + 0

11/08/2006

Garoto Programa

Beppe,

Muito obrigado pela sua ajuda, acretito que o meu problema esta resolvido.
Mais uma vez, Obrigado.

Que Deus continue te abençoando.


Responder

Gostei + 0

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

Aceitar