Ir para conteúdo

POWERED BY:

Arquivado

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

Sergio R

Consulta em duas tabelas

Recommended Posts

Pessoal!Necessito de uma grande ajuda, mas nem sei se é possível fazer isso.Tenho duas tabelascontatos_uscontatos_variosAmbas possuem praticamente os mesmos campos, pois a tabela contatos_us contem informações apenas dos usuarios e a tabela contatos_varios contem informações de outras pessoas que não são usuarios, não sei se deu pra entender.contatos_usid | id_us |nome | ddd | tel1 | tel2 | cel | endereco | bairro | cidade | uf contatos_variosid | id_us | nome | ddd | tel1 | tel2 | cel | endereco | bairro | cidade | uf Nas tabelas existem os campos id_us que é o id do usuario que inseriu o contato.Ex. Quando uma pessoa se registra, os dados de usuario, ou seja, nome do usuario, senha e chave são gravados na tabela usuarios, mas os dados, nome, tel, cel, endereço etc... ficam gravados na tabela contatos_us. Acontece que os usuarios podem inserir outros contatos de pessoas que não são usuarias, estes ficariam na tabela contatos_varios, e cada contato com o id do usuario que a inseriu (para saber quem inseriu tal registro).Até ai tudo bem, já está funcionando perfeitamente, mas a minha dúvida é com relação a consulta. :unsure: Vou tentar descrever num algoritmo o que preciso: receba os dados para consulta;realize uma consulta ao mysql nas tabelas contatos_us e contatos_varios;montre-me todos os campos dessas tabelas que contenham o dados procurados;------------------------------------------------------Já tenho isso funcionando, mas apenas com uma tabela, se pudesse fazer com as duas, seria ótimo.Espero que explicação esteja clara. Desde já agradeço a colaboração de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só trabalho com sql server então não sei se a sintaxe eh diferente, mas acho que a query seria mais ou menos isso

 

select * from contatos_us us

join contatos_varios vr

on us.id_us = vr.id_us

 

talvez eu nao tenha entendido direito o q você quis dizer... de qualquer jeito soh tentei ajudar... mas a chave do negocio eh o comando JOIN que faz consultas em duas tabelas ao mesmo tempo

Compartilhar este post


Link para o post
Compartilhar em outros sites

só trabalho com sql server então não sei se a sintaxe eh diferente, mas acho que a query seria mais ou menos isso

 

select * from contatos_us us

join contatos_varios vr

on us.id_us = vr.id_us

 

talvez eu nao tenha entendido direito o q você quis dizer... de qualquer jeito soh tentei ajudar... mas a chave do negocio eh o comando JOIN que faz consultas em duas tabelas ao mesmo tempo

 

 

$select->joinInner(

Compartilhar este post


Link para o post
Compartilhar em outros sites

$select->from(array('t' => 'blog_posts_tags'),

array('count(*) as count', 't.tag'))

->joinInner(array('p' => 'blog_posts'),

'p.post_id = t.post_id',array())

->where('p.user_id = ?', $user_id)

->where('p.status = ?', self::STATUS_LIVE)

->group('t.tag');

 

 

para este SQL

 

SELECT count(*) as count, t.tag

FROM blog_posts_tags t

INNER JOIN blog_posts p ON p.post_id = t.post_id

WHERE p.user_id = [user id]

AND p.status = 'L'

GROUP BY t.tag

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.