1
resposta

Consulta com duas condições da mesma coluna

Olá pessoal, estou fazendo a formação em SQL e recentemente tive uma dúvida no trabalho, estava tentando fazer uma consulta e encontrei uma dificuldade, basicamente eu quero uma situação em que na minha consulta eu tenho dois valores decisivos que são da mesma coluna, porém são linhas diferentes, abaixo vou deixar o código errado para que fique mais fácil de entender:

select distinct s.sample_number, s.product, l.lot_name, l.description, r.analysis, r.entry

from sample s inner join test t on s.sample_number = t.sample_number

inner join result r on s.sample_number = r.sample_number

inner join lot l on s.lot = l.lot_number

inner join analysis a on t.analysis = a.name

where (r.name = 'COMPONENTE 1' and r.entry is not null)

**and (r.name = 'COMPONENTE 2' and r.entry is null)
**
and a.analysis_type = 'ANALISE'

A ideia é que quando o componente 1 esteja preenchido o retorno aconteça, mas se o componente 1 estiver preenchido e o 2 também, eu gostaria que a consulta não retornasse nada.

Tentei fazer uma subconsulta mas confesso que não sei exatamente o que fazer nessa situação :(

1 resposta

Em teoria isso deveria funcionar. As vezes a coluna pode nao estar nula e sim vazia.. Que tem uma pequena diferenca.

Verifique talvez isso: https://stackoverflow.com/questions/8660203/how-to-check-for-is-not-null-and-is-not-empty-string-in-sql-server/8660220