SELECT DISTINCT для групп данных

У меня есть следующая таблица:

ID  Data
1   A
2   A
2   B
3   A
3   B
4   C
5   D 
6   A
6   B

и т. Д. Другими словами, у меня есть группы данных по идентификатору. Вы заметите, что группа данных (A, B) встречается несколько раз. Мне нужен запрос, который может идентифицировать отдельные группы данных и пронумеровать их, например:

DataID     Data
101        A
102        A
102        B
103        C
104        D

Итак, DataID 102 будет напоминать данные (A, B), DataID 103 будет напоминать данные (C) и т. Д. Чтобы иметь возможность перепишите мою исходную таблицу в следующем виде:

ID   DataID
1    101
2    102
3    102
4    103
5    104
6    102

Как я могу это сделать?


PS. Код для создания первой таблицы:

CREATE TABLE #t1 (id INT, data VARCHAR(10))
INSERT INTO #t1
SELECT 1, 'A'
UNION ALL SELECT 2, 'A'
UNION ALL SELECT 2, 'B'
UNION ALL SELECT 3, 'A'
UNION ALL SELECT 3, 'B'
UNION ALL SELECT 4, 'C'
UNION ALL SELECT 5, 'D'
UNION ALL SELECT 6, 'A'
UNION ALL SELECT 6, 'B'
5
задан Lieven Keersmaekers 25 November 2010 в 10:38
поделиться