У меня есть следующий набор данных, представляющий сопоставление между проектом и деятельностью:
ProjectID ActivityID
A A
B B
B C
D D
E D
M N
Я хотел бы рассчитать идентификатор на основе следующих правил:
a project that maps 1-1 with an activity:
A - A
M - N
one project that maps to multiple activities:
B - B
B - C
one activity that maps to multiple projects:
D - D
E - D
Это приведет к:
ProjectID Activity CalculatedID
A A 1
B B 2
B C 2
D D 3
E D 3
M N 4
Я надеюсь, что там достаточно информации, любые идеи приветствуются.Я особенно заинтересован в разработке подхода, основанного на множествах.
- ОБНОВЛЕНИЕ: обратите внимание на ответы - я бы описал подход, использованный @Erwin, как классификацию отображений, в отличие отрешение, предоставляемое @mellamokb (которое основано на решении @ CodeByMoonlight), которое присваивает последовательный идентификатор.Оба ваших решения помогли мне в пути, спасибо, ребята!