Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

[Resolvido] Trazer resultados comparando com outra tabela

Recommended Posts

Estou tentando fazer um SELECT onde o resultado de uma SUBQUERY pode ser 0 ou NULL. Porque o registro nessa tabela é feito após uma interação do usuário.

 

Resumindo eu faço uma busca em uma tabela, o usuário interage e cadastra informações em outra tabela. E após cadastrar essas informações se o resultado for igual a 1, não mostrar o registro da tabela que faço a busca, se o id for relevante.

 

Tentei fazer algo parecido com essa query de exemplo:

 

SELECT * FROM tabela WHERE (SELECT valor FROM tabela_dois WHERE id_usuario = 1) = 0 OR (SELECT valor FROM tabela_dois WHERE id_usuario = 1) = NULL

 

Só que retorna nada. Alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente :

 

SELECT * 
FROM tabela 
WHERE tabela.id_usuario = 1
and   exists (SELECT null 
             FROM tabela_dois 
             WHERE tabela_dois.id_usuario = tabela.id_usuario 
             and   nvl(valor,0) = 0)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso trazer as informações da tabela um se não houver referencia na tabela dois, ou se houver, verificar se valor é =1. E usando o exists, eu verifico somente se existe o registro, se não houver ele não traz nada.

 

Resumindo:

 

Se houver registro na tabela dois, verifica se o valor é = 1, e se não houver referencia na tabela dois, trazer o resultado sem comparar nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso trazer as informações da tabela um se não houver referencia na tabela dois, ou se houver, verificar se valor é =1. E usando o exists, eu verifico somente se existe o registro, se não houver ele não traz nada.

 

SELECT * 
FROM tabela 
WHERE tabela.id_usuario = 1
and   (
      exists (SELECT null 
              FROM tabela_dois 
              WHERE tabela_dois.id_usuario = tabela.id_usuario 
              and   valor = 1)
     or 
      not exists (SELECT null 
                  FROM tabela_dois 
                  WHERE tabela_dois.id_usuario = tabela.id_usuario) 
    )

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.