Ir para conteúdo

POWERED BY:

Arquivado

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

Giihh

Inner Join

Recommended Posts

Eu tenho duas tabelas no DB:
tabela categoria:
id_categoria | nome_categoria
   1             camisetas
   2             estrelas
tabela post:
id_post | título | resumo | conteúdo | categoria_id
    1      teste    lorem     ipsum         2
    2      test2    lorem     ipsum         1
Se eu acessar na url: www.exemplo.com/camisetas
camisetas é a variavel $categoria por causa da regra no .htaccess
Eu quero acessar todos os dados da coluna categoria_id na tabela posts por nome e não por id:
$query = "SELECT * FROM post where ".$categoria." ";

qual instrução inner join uso nesse caso? Ou melhor como eu adiciono o inner join nesse select?

 

Agradeço ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites
select * from post p inner join categoria c on (c.categoria_id = p.id_categoria)

 

Obrigada @alanschurch mas e o where fica no final assim?

select * from post p inner join categoria c on (c.categoria_id = p.id_categoria) WHERE ".$categoria.";

Dessa forma esta dando erro na clausula where

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @giihh,tudo bem ?
Tente assim:

 select * from post inner join categoria where categoria_id = id_categoria 
 

Resultado:

 

 

2 teste2 lorem ipsum 1 1 camisetas
1 teste lorem ipsum 2 2 camisetas

Para pegar o nome da categoria,é so ler a linha com o atributo 'nome_categoria',aonde id_categoria é o valor da categoria do produto

Compartilhar este post


Link para o post
Compartilhar em outros sites


$sql = "select p.* from post as p inner join categoria as c on (c.categoria_id = p.id_categoria) WHERE c.categoria='$categoria'";

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.