Relacionamento

10/02/2003

0

Estou com este problema se vc´s puderem me ajudar:
Tenho um relacionamento de um Cliente que pode ter vários Telefones e que pode estar trabalhando em várias Empresas, logo gostaria de exibir todos os Telefones do cliente e suas respectivas Empresas. (Tentei fazer o join com todas as tabelas e aparecem registro duplicados desnecessários), está query está funcionando somente para os telefones...gostaria de incluir a(s) empresa(s) também!
O distinct também não deu certo!

select
cli.cliCodigo,
cli.cliNome,
con.conDescricao
from
cliente as cli,
contato as con
where
con.cliCodigo = cli.cliCodigo and
day(cli.cliDataNascimento) = :parDia and
month(cli.cliDataNascimento) = :parMes
group by
cli.cliCodigo,
cli.cliNome,
con.conDescricao
order by
cli.cliCodigo

Não posso utilizar join´s pq estou trabalhando no Access.

Desde já agradeço.


Leafar

Leafar

Responder

Posts

10/02/2003

Anonymous

Vc fez o diagrama de entidade-relacionamento correto?
Vc terá que fazer 3 tabelas(clientes,telefones e empresas)
onde a tabela telefones receberá o codigo do cliente como chave estrangeira e a tabela empresas receberá tb o código do cliente como chave estrangeira,assim vc poderá ter a informação que vc necessita...
Boa semana!!!


Responder

10/02/2003

Leafar

O diagrama está correto, mas quando eu executo a query retorna tuplas indesejadas, como estas 2 primeiras:

(Nome) (Contato) (Empresa)
João Pedro 1234-5678 MS
João Pedro 1234-5678 Oracle
Carlos carlos@terra.com.br Apple

ou seja, se o cliente Trabalhar em + de 1 Empresa ou possuir mais de um Telefone quando faço a junção da tabela Cliente_Contato_Empresa aparece este cliente 2 vezes.

Naum sei se tem jeito de separar, pois a resposta parece certa para o banco mas errada para o cliente :(


Responder

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

Aceitar