Самый простой способ устранить NULL в SELECT DISTINCT?

Я работаю над запросом, который довольно похож на следующее:

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

Результат, что неудивительно,

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

Результат, который я хотел бы видеть в действительности:

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

То есть, если столбец имеет значение в одних записях, но не в других, я хочу выбросить строку с NULL для этого столбца. Однако, если столбец имеет значение NULL для всех записей, я хочу сохранить этот NULL.

Какой самый простой / изящный способ сделать это в одном запросе?

У меня есть ощущение, что это было бы просто, если бы я не был измотан в пятницу днем.

Ответы на вопрос(7)

Ваш ответ на вопрос