Ir para conteúdo

POWERED BY:

Arquivado

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

NinoSPFC

Inner Join

Recommended Posts

Olá galera...

 

Estou fazendo um sistema de busca por tags que funciona da seguinte forma.

 

Quando é cadastrado uma noticia eu consigo inserir tags nesta noticia. Essas tags puxadas de uma tabela referente a tags. formada da seguinte maneira.

 

tb_tags

id | nome

 

 

E a tabela de noticia fica desta forma após inserido as tags e salvo.

 

tb_news

id | titulo | tags

 

 

Um exemplo de inserção seria

1 | titulo teste | ,2,6,8,

 

 

Esses números os ids das tags na tabela dela.

 

 

Agora quero fazer uma busca por tags e estou enfrentando dificuldades para listar.

 

select Distinct n.id, n.titulo, n.tags from tb_tags as t inner join tb_news as n on n.tags LIKE '%,t.id,%'

 

Estou fazendo da forma correta?

 

Se eu pesquisar desta forma

 

select Distinct n.id, n.titulo, n.tags from tb_tags as t inner join tb_news as n on n.tags LIKE '%,6,%'

 

Eu obtenho o retorno.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum...

 

Você nao acha melhor fazer desta forma:

 

- Tabela tags

id | nome

 

- Tabela noticias

id | noticia

 

- Tabela tags_noticia

id | fk_id_noticia | fk_id_tags

 

Voce pode ter varias tags para varias noticias

n:n

 

 

Tente usar LEFT JOIN, ao invés de inner...

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.