Desprezar Zeros e Nulos
Gente, poderiam me ajudar com uma query e um raciocínio?
Preciso carregar uma tabela com informações de uma outra, porém desprezando os registros zeros e nulos em todas as colunas.
Na minha tabela origem tenho um total de 164.906.857 registros. Select count(*) from ADMRDX.table;
Para saber quem são os registros que estão com 0 e nulos, fiz a seguinte consulta:
SELECT Count(*) Qtde
FROM ADMRDX.table
WHERE
(Campo_3 = 0 or Campo_3 is null)
And (Campo_4 = 0 or Campo_4 is null)
And (Campo_5 = 0 or Campo_5 is null)
And (Campo_6 = 0 or Campo_6 is null)
And (Campo_7 = 0 or Campo_7 is null)
And (Campo_8 = 0 or Campo_8 is null)
And (Campo_9 = 0 or Campo_9 is null)
And (Campo_10 = 0 or Campo_10 is null) ;
QTDE
17.124.413
Então, logo
164.906.857 => Count(*) da Tabela
17.124.413 => Quantidade de Registros Zerados ou Nulos
----------------
147.782.444 => Registros a ser carregados na tabela
Como faço pra dizer que NÃO QUERO os registros vindo com 0 e nulos? Eu fiz a consulta abaixo mas o resultado não bate.
SELECT Count(*) Qtde
FROM ADMRMS.table
WHERE NOT
(Campo_3 = 0 or Campo_3 is null)
And (Campo_4 = 0 or Campo_4 is null)
And (Campo_5 = 0 or Campo_5 is null)
And (Campo_6 = 0 or Campo_6 is null)
And (Campo_7 = 0 or Campo_7 is null)
And (Campo_8 = 0 or Campo_8 is null)
And (Campo_9 = 0 or Campo_9 is null)
And (Campo_10 = 0 or Campo_10 is null) ;
..... porém essa consulta retorna 136.094.578, ou seja, 11.687.866 estão se perdendo. Não existe nenhum outro filtro a não ser esse que mostrei ai em cima.
==>> Eu acho que não estou acertando a forma de desprezar os Zeros e Nulos. Apenas coloquei o NOT depois do where.
Alguém poderia me dar um help qto a isso?
Grata
Discussão (5)
Carregando comentários...