Consulta SQL de 2 tabelas

Delphi

10/08/2006

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

Curtidas 0

Respostas

Beppe

Beppe

10/08/2006

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).


GOSTEI 0
Garoto Programa

Garoto Programa

10/08/2006

Beppe,

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

Que Deus continue te abençoando.


GOSTEI 0
POSTAR