Я работаю над запросом, который довольно похож на следующий:
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
Результат, неудивительно,
a b
-------
A NULL
A B
B NULL
Вывод, который я хотел бы увидеть на самом деле:
a b
-------
A B
B NULL
То есть, если столбец имеет значение в некоторых записях, но не в других, я хочу выкинуть строку с NULL для этого столбца. Однако, если столбец имеет значение NULL для всех записей, я хочу сохранить этот NULL.
Какой самый простой/самый элегантный способ сделать это в одном запросе?
У меня такое чувство, что это было бы просто, если бы я не был исчерпан в пятницу днем.