Ir para conteúdo

POWERED BY:

Arquivado

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

dimiguel

Condição (WHERE) com IF

Recommended Posts

Tenho duas tabelas (posts e posts_promovidos). Ambas se relacionam e a busca "normal" funciona sem problemas. Porém, preciso fazer uma busca que me retorne todos os posts e, caso o post pertença à posts_promovidos, me traga somente os posts_promovidos com status = "N".

Tentei algo do tipo

SELECT * FROM posts AS POST [...] WHERE [..] AND IF((SELECT COUNT(*) FROM posts_promovidos WHERE posts_promovidos.post_id = post.id) > 0,posts_promovidos.ativo = "N","")

Porém não funcionou como queria pois está trazendo apenas os posts promovidos e ignorando os posts "não promovidos" (que não constam da tabela posts_promovidos). Qual seria a forma mais correta de fazer essa busca?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi da seguinte maneira (compartilhando para ajudar quem tenha algo parecido):

SELECT * FROM posts AS POST [...] WHERE [..] AND posts.id NOT IN(select post_id from posts_promovidos) OR posts_promovidos.ativo = "N"

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.