在Postgres中,假设我有两张桌子。
表A:
ID Gender
1
1
2
2
3
3
表B:
ID Gender
1 F
2 M
3 F
如何将表B中的性别值插入表A并获取如下所示的新表A: 表A:
ID Gender
1 F
1 F
2 M
2 M
3 F
3 F
我尝试过如下命令:
insert into a(gender) select gender from b
where a.id=b.id;
它给了我错误信息:
表" a"有一个条目,但不能从查询的这一部分引用它。
答案 0 :(得分:3)
请试试这个:
UPDATE TABLE "A" Set "Gender" = "B"."Gender"
FROM "B"
WHERE "A"."ID" = "B"."ID";
希望它会对你有帮助。
答案 1 :(得分:0)
你有没有试过joins
? (即内部或外部)
SELECT a.ID, b.Gender
FROM tableA a INNER JOIN tableB b
ON b.ID = a.ID;
但是,这将被视为分离的结果集,或者您可以执行插入操作