Есть таблица
ObjectId | variant | value
Нужно сгруппировать ObjectId и variant по условию 'все value для этой группы не null'
Т.е. отсечь все группы в которых содержится хотя бы один Null
попробуйте
CREATE TABLE #1 (ObjectId int, variant int, value int)
INSERT INTO #1
VALUES (1,1,null), (1,2,null), (1,1,1), (1,2,3),(1,3,3),(1,3,4)
SELECT ObjectId, variant
FROM #1 y
WHERE NOT EXISTS (SELECT ObjectId, variant
FROM #1 x
WHERE value IS NULL AND y.ObjectId=x.ObjectId AND y.variant=x.variant
GROUP BY ObjectId, variant)
GROUP BY y.ObjectId, y.variant