У меня есть отношение 1: 1 между данными, которые не были явным внешним ключом в базе данных. Например,
Таблица 1 имеет a
один раз, b
дважды и c
один раз
id value
1 a
2 b
3 b
4 c
Таблица 2 также имеет a
один раз, b
дважды и c
один раз
id value
5 a
6 b
7 c
8 b
Я хочу создать внешний ключ из Таблицы 1 в Таблицу 2, когда значение совпадает:
Ожидаемая Таблица 1 после запроса
id value fk
1 a 5
2 b 6
3 b 8
4 c 7
Я думал об использовании JOIN, но на t1.value = t2.value
, но они создают декартово произведение, и я получаю
id value fk
1 a 5
2 b 6
2 b 8
3 b 6
3 b 8
4 c 7
Как я могу заполнить поле fk
таким образом, чтобы разные строки с одинаковыми value
получить имеют разные fk
?