Итак, у меня есть временная таблица, которую мне нужно заполнить записями, имеющими дело с историей регистрации
Я работаю с набором данных, который выглядит следующим образом:
sccphidsid enroll_date disenroll_date status
abc123x 2009-01-01 2010-31-12 0
abc123x 2011-01-01 null 0
abc123x 2011-03-01 2012-01-01 0
ИтакМне нужно, чтобы он возвращал все записи с одинаковым sccphidsid и возвращал их, включая нулевые и ненулевые значения.
Условия, которым он должен соответствовать,
- Даты прекращения участия не равны нулю
- Даты прекращения участия равны нулю, а
- записи имеют несколько значений disenroll_date
Текущее решение:
select *, count(disenroll_date is null)
from enrollment _test
where Status = 0
group by Sub_Client_Cd, Policy_Holder_ID, Suffix_ID
having count(disenroll_date is null) > 1;
Однако это возвращает слишком много записейЕсть ли способ изолировать этот запрос, может быть, проще, который может предотвратить возвращение слишком большого количества записей по ограничениям или параметрам?
Спасибо всем