Вы можете использовать обычный GROUP BY
.
GROUP BY
будет
- исключить значение
NULL
из 1
, поскольку присутствуют другие значения.
- сохраняет значение
NULL
для 2
, поскольку оно имеет только значения NULL
.
Оператор SQL
SELECT id
, MIN(value)
FROM YourTable
GROUP BY
id
Тестовый скрипт
;WITH q (id, value) AS (
SELECT 1, NULL
UNION ALL SELECT 1, 'A'
UNION ALL SELECT 2, NULL
UNION ALL SELECT 2, NULL
UNION ALL SELECT 3, 'B'
UNION ALL SELECT 3, 'B'
UNION ALL SELECT 3, 'B'
)
SELECT id
, MIN(value)
FROM q
GROUP BY
id