Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jerri Dick

[Resolvido] Cruzando e exibindo 2 tabelas

Recommended Posts

Olá amigos, tenho 2 tabelas, e preciso fazer uma query que cruse os dados entre as 2 tabelas, até ai tudo bem, porem, preciso crusar os dados da tabela 1 com a tabela 2, verificando os nomes da tabela 1, que estão presentes na tabela 2, porem, retornando os nomes, os ranks e suas idades correspondentes.

 

Tabela1

__________________________
|nome         |rank        |
|--------------------------|
|Roberto      |Admin       | 
|Carlos       |Supervisor  |
|Julio        |Admin       |
|Alberto      |Usuario     |
|Marcela      |usuario     |
|Luciana      |Vendedor    |
--------------------------

Tabela2
__________________________
|nome         |idade       |
|--------------------------|
|Roberto      |29          | 
|Luana        |60          |
|Glaci        |25          |
|Geovane      |27          |
|Alceu        |40          |
|Julio        |32          |
|Alberto      |30          |
|Marcela      |30          |
----------------------------

 

Usei a seguinte consulta sql:

select tab1.nome,tab1.rank,from tabela1 as tab1,where exists (select tab2.nome,tab2.idade from tabela2 as tab2 where(tab1.nome = tab2.nome)

Meu resultado foi o seginte:

 

_________________________
|nome         |rank        |
|--------------------------|
|Roberto      |Admin       | 
|Julio        |Admin       |
|Alberto      |Usuario     |
|Marcela      |usuario     |
--------------------------

 

Porém, o resultado que estou presisando seria:

_____________________________
|nome         |rank    |Idade |
|----------------------|------|
|Roberto      |Admin   | 29   |
|Julio        |Admin   | 32   |
|Alberto      |Usuario | 30   |
|Marcela      |usuario | 30   |
-----------------------------

 

Tentei o o seguinte código tambem:

select tab1.nome,tab1.rank,tab2.idade from tabela1 as tab1, tabela2 as tab2 where exists (select tab2.nome,tab2.idade from tabela2 as tab2 where(tab1.nome = tab2.nome)

Mas não deu certo tambem, isto acabou me retornando todos os dados da tabela 1 e tabela 2, inclusive alguns dados repetidos da tabela 1.

 

Bem amigos, aguardo anciosamente por uma ajuda, caso exista alguma maneira de resolver este meu problema, via query em mysql, ou caso exista alguma maneira via php, seria bem vinda tambem.

Sem mais, Jerry.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postou no fórum errado, mas pelo que eu vi é só fazer um relacionamento com join

 

SELECT t1.nome, t1.rank, t2.idade FROM tabela1 as t1 INNER JOIN tabela2 as t2 ON t1.nome=t2.nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postou no fórum errado, mas pelo que eu vi é só fazer um relacionamento com join

 

SELECT t1.nome, t1.rank, t2.idade FROM tabela1 as t1 INNER JOIN tabela2 as t2 ON t1.nome=t2.nome

 

Funcionou exatamente como queria amigo, agradeço muito, e peço desculpas pelo post na seção errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como o amigo ja disse você pode utilizar innerjoin , mas tambem você pode fazer algo semelhante colocando no where (pk.tabela1 = pk.tabela2) .. vai funciona da mesma forma =] hehe so mais uma opção

 

valwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.