CREATE TABLE #A (Type Char(20),ID INT, ID2 int,Address VARCHAR(10))
INSERT INTO #A (Type,ID, ID2,Address)
VALUES ('Child',101,290,'CAT'),
('Child',102,290,'CAR'),
('Self',290,290,'CAT')
,('Spouse',103, 777,'DOE')
,('Self',777,777,'DOE')
,('Self',811,NULL,'yyy')
Таким образом, идентификатор уникален в #A, а ID2 группируется так, записи 1-3 находятся в одной группе 4-5 в одной группе и так далее. Я хочу показать все «ID», где (i) для каждой группы, если адрес одинаковый для всех записей, я хочу получить идентификатор, где type = 'self' (ii) если каждая группа, если адрес разные для нескольких записей, я хочу получить идентификатор «я» и идентификатор других рекомендаций, где адрес отличается. (iii) если нет группы i.e. ID2 имеет значение null, я хочу идентификатор записей.Выбор группы записей по
так, вывод должен быть
102
290
777
811
устранения ID 101, потому что 290 имеет тот же адрес, и они принадлежат к одной и той же группе. хранение 290, потому что это само.
Спасибо!