Dúvida inner join

5 respostas
H

Vamos supor que eu vou fazer um inner join de uma consulta de uma pessoa que possui vários telefones

select n.nome, c.telefone
from  nomes as n inner join  contatos as c
on n.id = c.id_nome

vamos supor que ele retorne:

Joao, 3223-1111
Joao, 3423-1451
Joao, 3224-4325
Marcos, 3253-5435
Marcos, 3423-6542
Marcos, 3224-7890

como seria a lógica para preencher o Nome e em seguida a Lista de Telefones que essa pessoa possui?

ou vou ter que fazer uma consulta dentro da outra?

5 Respostas

A

Qual seria o resultado esperado?

Lógica no Java ou no SQL?

Que banco de dados está utilizando?

ttelsen

Vc pode apresentar todos os contatos desse usuário em uma Jtable, ja que poderá haver vários telefones de uma mesma pessoa. Também deverás ter no momento de apresenta-los um where buscando os telefones de um determinado id somente e não todos os contatos que tem uma relação que é oq o Inner Join faz sem o where.

Resumindo use uma Jtable ou equivalente(pois nao sei se seu sistema é desk ou web ou mobile) e filtre essa query.

H

então essa é a minha dúvida. Eu quero preencher o model nome e em seguida uma lista de telefone que esse model possui, sendo assim primeiro eu faço uma consulta para carregar os nomes e em seguida outra consulta para consultar o telefone dessa pessoa? podendo fazer um select dentro de outro select?

drsmachado

Jdbc?
Se sim, considere a ideia de duas queries…
Se não, está usando JPA ou algum framework ORM?

H

sim, Jdbc. Obrigado pelos esclarecimentos!

Criado 16 de janeiro de 2014
Ultima resposta 17 de jan. de 2014
Respostas 5
Participantes 4