Это должно быть решенной проблемой, но я не знаю подходящих терминов для поиска в Google.Итак, объясню проблему здесь.
У меня есть следующий набор данных, который имеет два разных идентификатора для пользователей (скажем, id1
и id2
).
+------+-----+-------+
| id1 | id2 | value |
+------+-----+-------+
| 1 | 11 | blah1 |
| 1 | 12 | blah2 |
| 2 | 13 | blah3 |
| null | 14 | blah4 |
+------+-----+-------+
Есть одинотношение «ко-многим» между id1
и id2
, поэтому пользователи с id2
11 и 12 на самом деле являются одними и теми же пользователями.Я хочу скопировать строки для таких пользователей, чтобы value
ассоциировался с каждым id2
.Результирующий набор данных тогда будет выглядеть как
+------+-----+-------+
| id1 | id2 | value |
+------+-----+-------+
| 1 | 11 | blah1 |
| 1 | 12 | blah2 |
| 2 | 13 | blah3 |
| null | 14 | blah4 |
| 1 | 12 | blah1 |
| 1 | 11 | blah2 |
+------+-----+-------+
Как видите, значение blah1
теперь ассоциируется как с 11, так и с 12 id2
, так же как и значение blah2
.
*.1020 * Должен быть какой-то
self-join
, который делает это, но я не знаю, как это называется (SQL-новичок).Буду признателен, если кто-нибудь укажет мне правильное направление.