2017-10-06 87 views
-3

SQL合并表我有看起来像这样的两个表:有两个不同的列

表1:

enter image description here

表2:

enter image description here

,我想合并它们,创建一个如下所示的表格:

variablenname | mean | stddev | ms_form | dependent | fvalue | probf 

前九行应该是第一个在最后3列中有空值的表,接着是第二个表中的第三行,在前4列中有空值。很抱歉,我无法发布图片或第三方链接,但我的声誉太低。我希望这是可以理解的。

我试着创建一个新表,并选择从union这两个都没有,但没有奏效。有谁能够帮助我?

谢谢!

+0

你必须把表结构和样本数据为文本在问题内部,而不是在外部图像中,所以人们可以轻松查看它们,并且如果他们想进行测试,可以复制/粘贴。 –

回答

0

您可以使用ALTER最后3列添加到表1.从那里,INSERT表2到表1.因此,像这个。

ALTER table1 ADD dependent varchar(16) 
ALTER table1 ADD favalue varchar(16) 
ALTER table1 ADD probf varchar(16) 

INSERT INTO table1(dependent, fvalue, probf) 
    SELECT * FROM table2 
0

这是我想决赛桌的样子: enter image description here

0

您可以使用连接的组合和工会

LEFT JOIN在第一个查询两个表的字段,将不会有比赛 然后UNION第二个查询使用相同的表的RIGHT JOIN

LEFT JOIN将只显示从第一个表的结果,那么RIGHT JOIN将只显示从第二

类似的结果:

SELECT * FROM table1 as t1 
LEFT JOIN table1 as t2 on t1.variablenname = t2.fValue 
UNION 
SELECT * FROM table1 as t1 
RIGHT JOIN table1 as t2 on t1.variablenname = t2.fValue;