【发布时间】:2020-02-26 15:07:36
【问题描述】:
我在数据库中不是显式外键的数据之间存在 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?
【问题讨论】:
-
请添加您期望的内容。
-
它已经在那里了,但我称之为
Table 1 final而不是expected。我希望能澄清这个问题。
标签: sql postgresql