一个子属性(外键)已存储同一表中两列的数据

时间:2019-03-01 17:41:31

标签: sql database postgresql foreign-keys primary-key

我在这里分析一些csv文件,并基于这些文件尝试创建DB结构,但是显然,来自table2的一列具有来自来自table1的两个不同列的数据。有人可以帮我如何在SQL中重新创建相同的逻辑吗?

我尝试过:

CREATE TABLE table1
(
     field1 varchar(4),
     field2 varchat(5),

     PRIMARY KEY(field1, field2)
);

CREATE TABLE table2
(
      field3 varchar(5) REFERENCES table1(field1, field2)
)

那没有用。有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,一张桌子上只能有一个主键。如果您对表2和表1进行了两个单独的内部联接以分隔两个概念,然后将两个新表联接以适当地分隔表2中的概念怎么办?

类似这样的东西:

HTTP_X_Powered_By

然后基于两个临时表建立逻辑,以适当地将数据按其正确顺序存储。

还是我误解了问题的本质?字段的性质是什么?