Boa noite,
Galera estou com uma duvida muito simples mas ao mesmo tempo mto complexa e gostaria da ajuda de vocês.
Tenho uma tabela chamada cliente que contem idCliente e NomeCliente
e uma tabela chamada Telefone que contem o idCliente como FK e numeroTelefone,pois um cliente pode ter mais que um telefone.
A minha duvida é o seguinte preciso fazer um select no banco que me retorne apenas 1 telefone do cliente, tentei usar distinct porém não deu certo, não sei se implementei errado ou não da certo mesmo.
Não sei se desta forma vai servir, tenta ai.
Abraço!
Po mto obrigado pela atenção mas eu precisaria de fazer em sql mesmo, sem ser pelo hibernate, por isso da minha duvida tipo fazendo
select distinct (c.codigo),c.nome,t.telefone
from cliente c left join telefone t on (c.codigo = t.codigoCliente)
Guevara
Então, vc pode até listar vários telefones, mas pegar um especificamente precisaria passar algum parâmetro para a aplicação saber qual buscar, se vc têm uns 5 telefones cadastrados, qual seria o telefone correto?
Dependendo de como vc criou o banco, até dê pra fazer isso, poste a tabela de Telefones, de repente alguém têm alguma idéia melhor pra fazer isso.
G
guialeixo
Guevara:
Então, vc pode até listar vários telefones, mas pegar um especificamente precisaria passar algum parâmetro para a aplicação saber qual buscar, se vc têm uns 5 telefones cadastrados, qual seria o telefone correto?
Dependendo de como vc criou o banco, até dê pra fazer isso, poste a tabela de Telefones, de repente alguém têm alguma idéia melhor pra fazer isso.
é uma tabela telefone com a chave estrangeira de codigo do cliente e numero
onde um cliente pode ter mais de 1 telefone, so que quando eu faço o select quero buscar apenas 1 telefone
walacy
Algum parametro define qual o telefone que você quer?
Tipo do telefone, ultimo cadastrado, etc…
select c.*, t.* from cliente c
inner join telefone t on (t.idcliente = c.idcliente and /*Segunda condicao aqui...*/)
G
guialeixo
walacy:
Algum parametro define qual o telefone que você quer?
Tipo do telefone, ultimo cadastrado, etc.......
select c.*, t.* from cliente c
inner join telefone t on (t.idcliente = c.idcliente and /*Segunda condicao aqui...*/)
hmm nao acho que vou colocar um campo de tipo telefone é melhor ai busca sempre o residencial.
walacy
Apenas trocando por Outer (retorna o cliente, mesmo se não houver telefone).
select c.*, t.* from cliente c
left outer join telefone t on (t.idcliente = c.idcliente and /*Segunda condicao aqui...*/)