我有两个表:
TEST1 :
attribut1, attribut2, attribut3
TEST2 :
attribut4
attribut4模式类似于“ xxxxx yyyyy zzzzz”
我的问题是,是否可以将表TEST2的所有“ xxxxx”,所有属性“ yyyyy”和属性3“ zzzzz”都放在TEST1属性表中?
我尝试了类似的方法:
insert into TEST1(attribut1) SELECT SUBSTRING(attribut4,1,5)::integer FROM TEST2;
但它说:
错误:“ attribut2”列中的空值违反了非空约束 详细信息:失败行包含(xxxxx,null,null)。
(attribut1,attribut2)是主键。
感谢您的回答和时间。
答案 0 :(得分:0)
您可以使用split_part()
:
insert into TEST1 (attribut1, attribut2, attribut3)
SELECT split_part(attribut4, ' ', 1)::int,
split_part(attribut4, ' ', 2)::int,
split_part(attribut4, ' ', 3)::int
FROM TEST2;