Maneira mais fácil de eliminar NULLs em SELECT DISTINCT?
Eu estou trabalhando em uma consulta que é bastante semelhante ao seguinte:
<code>CREATE TABLE #test (a char(1), b char(1)) INSERT INTO #test(a,b) VALUES ('A',NULL), ('A','B'), ('B',NULL), ('B',NULL) SELECT DISTINCT a,b FROM #test DROP TABLE #test </code>
O resultado é, sem surpresa,
<code>a b ------- A NULL A B B NULL </code>
A saída que gostaria de ver na realidade é:
<code>a b ------- A B B NULL </code>
Ou seja, se uma coluna tiver um valor em alguns registros, mas não em outros, eu quero descartar a linha com NULL para essa coluna. No entanto, se uma coluna tiver um valor NULL para todos os registros, desejo preservar esse NULL.
Qual é a maneira mais simples / elegante de fazer isso em uma única consulta?
Tenho a sensação de que isso seria simples se eu não estivesse exausto numa tarde de sexta-feira.