При попытке работать с данными из сетевой визуализации я столкнулся со следующей проблемой.
У меня есть две таблицы, одна из которых содержит узлы в этой сети (называемые узлами ), а другая - ребра, соединяющие их (называемые ребра ).
Это таблица ребер :
| Source| Target | ModularityClass |
|-------|--------|-----------------|
| UserA | UserB | NULL |
| UserA | UserC | NULL |
| UserC | UserD | NULL |
| UserC | UserB | NULL |
| UserE | UserB | NULL |
А это таблица узлов :
| Username| ModularityClass |
|---------|-----------------|
| UserA | 38 |
| UserB | 11 |
| UserC | 38 |
| UserD | 23 |
| UserE | 11 |
Таблица узлов имеет значение modularityClass
, которое назначается как минимум двум строкам (Пользователи).
Теперь я хочу назначить значение modularityClass
из таблицы узлов для строк, имеющих одинаковое значение (пользователи с одинаковыми modularityClass
то есть дубликатами ) для соответствующая строка в таблице dge , которая содержит оба этих значения (Users). Финальная таблица в этом примере должна выглядеть следующим образом:
| Source| Target | ModularityClass |
|-------|--------|-----------------|
| UserA | UserB | NULL |
| UserA | UserC | 38 |
| UserC | UserD | NULL |
| UserC | UserB | NULL |
| UserE | UserB | 11 |
Это, очевидно, приведет к определенным значениям NULL
в финальной таблице, но это не является проблемой.
Таким образом, в основном мне нужно проверить другую таблицу на наличие дублирующихся значений (как минимум, двух) в определенном столбце, затем получить значения этих строк и сравнить их с двумя строками исходной таблицы и JOIN
из них на * 1 039 * строка.
Однако, как бы вы это сделали?