dúvida sql

fil79

Power Member
Boas

como posso fazer aparecer os registos de uma tabela que tem campos null..
ex: select* from tabela (onde todos os campos) is null..desde já agradeço
 
tens que fazer a where clause com todas as colunas.
select *
from tabela
where col1 is null
or col2 is null
or col3 is null
...
or coln is null;
 
Boas

como posso fazer aparecer os registos de uma tabela que tem campos null..
ex: select* from tabela (onde todos os campos) is null..desde já agradeço

Se cada registo tiver um id que não seja nulo, basta um select * from tabela. Não sendo o caso, basta escolheres um campo qualquer da tabela e executares o seguinte sql:

select * from tabela where campo1 is not null or campo1 is null.

Não é uma solução erudita, mas parece-me que resolve as tuas necessidades.
 
pois dessa maneira eu sabia que dava, acontece que a tabela tem vários campos e estava a pensar que poderá haver uma maneira de procurar registos que tenham pelo menos um campo null...de qualquer modo obrigado aos dois!! ;)
 
Viva.
Não estou a ver nenhuma forma directa de obter esses registos.
No meu posto de vista, e se compensar o trabalho, deves fazer uma função em que:

fazes uma query que devolva o nome dos campos da tabela e os guardas no variavel TbTmpCampos do tipo tabela.

Depois crias outra tabela @TbTmpIds para guardares os ids dos registos da tua tabela que têm pelo menos um campo a NULL.

Para carregar a tabela dos ids basta usares um cursor ou um While(melhor mas mais dificil de implementar) onde percorres todos os registos da @TbTmpCampos e EXECUTAS uma query que te devolva todos os ids onde esse campo é NULL. Por cada id não existente na Tabela dos ids vais adiciona-lo.

No final Select * from ... where id in @TbTmpIds

Espero ter ajudado.
Hélio
 
Viva.
Não estou a ver nenhuma forma directa de obter esses registos.
No meu posto de vista, e se compensar o trabalho, deves fazer uma função em que:

fazes uma query que devolva o nome dos campos da tabela e os guardas no variavel TbTmpCampos do tipo tabela.

Depois crias outra tabela @TbTmpIds para guardares os ids dos registos da tua tabela que têm pelo menos um campo a NULL.

Para carregar a tabela dos ids basta usares um cursor ou um While(melhor mas mais dificil de implementar) onde percorres todos os registos da @TbTmpCampos e EXECUTAS uma query que te devolva todos os ids onde esse campo é NULL. Por cada id não existente na Tabela dos ids vais adiciona-lo.

No final Select * from ... where id in @TbTmpIds

Espero ter ajudado.
Hélio

obrigado pela ajuda ;)
 
Back
Topo