Ir para conteúdo

POWERED BY:

Arquivado

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

rockrgo

select join

Recommended Posts

Bom dia pessoal,

 

estou quebrando a cabeça aqui para buscar alguns dados das minhas tabelas. Tenho duas tabelas, mensagens e usuarios. Na tabela mensagens eu armazeno nos campos destinatários e remetente o id do usuário.

 

Quando busco os dados para exibir na tela gostaria que não aparecesse o id em remetente e destinatário e sim o nome deles que se encontra na tabela usuários.

 

Tentei um JOIN com a tabela usuários, mas só consegui substituir o remetente. Alguém tem alguma ideia de como posso montar esta query?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara acabei esquecendo de uma coisa.....na minha tabela eu armazeno além do id dos usuarios uma letra 'T' que representa todos os usuarios, porém os registros que possuem o t não aparecem na consulta.

 

$this->db->select("sci.*, destinatario.usu_nome as dest, remetente.usu_nome");
$this->db->from("sci");
$this->db->join("usuarios AS remetente","sci.usu_id = remetente.usu_id");
$this->db->join("usuarios AS destinatario","sci.destinatarios = destinatario.usu_id");
$this->db->where("id = $id");

Tentei colocar um OR no segundo join mas não rolou....teria alguma dica de como pegar também esse t.

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se um left join resolve o seu problema, lembre q ele vai trazer td os registros da tabela a esquerda(usuarios) independente de correspondencia com a outra tabela.

 

 

http://www.prosige.com.br/portal/index.php?option=com_content&view=article&id=58:diferenca-entre-left-right-e-inner-join&catid=1:bancodedados&Itemid=55
http://www.luis.blog.br/left-join-e-inner-join-juncao-em-consultas-sql.aspx

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.