Najprostszy sposób na wyeliminowanie NULL w SELECT DISTINCT?

Pracuję nad zapytaniem, które jest dość podobne do następującego:

<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>

Rezultatem jest, co zaskakujące,

<code>a   b
-------
A   NULL
A   B
B   NULL
</code>

Rezultatem, który chciałbym zobaczyć w rzeczywistości, jest:

<code>a   b
-------
A   B
B   NULL
</code>

Oznacza to, że jeśli kolumna ma wartość w niektórych rekordach, ale nie w innych, chcę wyrzucić wiersz o wartości NULL dla tej kolumny. Jeśli jednak kolumna ma wartość NULL dla wszystkich rekordów, chcę zachować tę wartość NULL.

Jaki jest najprostszy / najbardziej elegancki sposób na wykonanie tego w jednym zapytaniu?

Mam wrażenie, że byłoby to proste, gdybym nie był wyczerpany w piątkowe popołudnie.

questionAnswers(7)

yourAnswerToTheQuestion