estoy trabajando en una consulta que es bastante similar al siguiente:¿La manera más fácil de eliminar valores NULL en SELECT DISTINCT?
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
El resultado es, como era de esperar,
a b
-------
A NULL
A B
B NULL
La salida me gustaría ver en la actualidad es:
a b
-------
A B
B NULL
Es decir, si una columna tiene un valor en algunos registros pero no en otros, quiero arrojar la fila con NULL para esa columna. Sin embargo, si una columna tiene un valor NULL para todos los registros, deseo conservar ese NULL.
¿Cuál es la forma más simple/más elegante de hacer esto en una sola consulta?
Tengo la sensación de que esto sería simple si no estuviera agotado el viernes por la tarde.
Puede un valor de la columna 'a' tener más de un valor no nulo en 'B'? Si ese es el caso, ¿espera obtener ambos valores? –
Lo siento, acabo de volver a esto hoy. Para todos los registros del grupo, cada columna está: 100% poblada con un valor único, 100% NULL o parcialmente poblada con un valor único y parcialmente NULL. Por ejemplo: (1, 2, NULO), (1, 2, NULO), (1, NULO, NULO) deben reducirse a (1, 2, NULO). –