2015-02-11 74 views
0

我有两个表。如何从其他表中插入值到现有表

Table1 , Table2. 
Table1 has name, age, salary. 
Table2 has name,height, weight,Relevance,Weight_po etc. 

。这两个表的名称都是主键。 现在我想在表1中插入两个新的列,即高度,重量。 高度和重量的值必须从Table2中获取,其中table1.name与table2.name匹配。

帮助我如何在postgres中实现这一点。

+0

什么部分造成你的困难? – 2015-02-11 14:04:35

回答

0

可以使用select into语句并插入你希望所有的数据到newtable的与结构你描述:

编辑:基于评论

Create table NewTable as 
    SELECT Table1.name,age,salary,height,weight  
    INNER JOIN Table2 
    ON Table1.name=Table2.name 
+0

我得到错误错误:表“表1”的FROM-clause条目的无效引用 – Ramkumar 2015-02-11 14:22:02

+0

对于错字我很抱歉。我的表2有更多的柱子像名称,高度,重量,直径,weight_po,相关性。但我只需要身高和重量 – Ramkumar 2015-02-11 14:24:17

+0

也许我的编辑帮助 – apomene 2015-02-11 14:25:58

0

有您创建的身高和体重列在表1中?

这将有助于填充值:

UPDATE Table1 t1 
SET height= t2.height,weight=t2.weight 
FROM Table2 t2 
WHERE t1.name= t2.name 

告诉我是怎么回事