2017-08-04 75 views
-1

我有两个表:SQLite的垂直堆栈

data1 
A B 
0 1 
0 1 

data2 
A B 
2 3 
2 3 

我想创建一个四表,该表上面的垂直堆栈:

data3 
A B 
0 1 
0 1 
2 3 
2 3 

我不熟悉SQLite和我目前使用SAS,这可以使用数据步骤查询来完成:

data data3; 
set data1 data2; 
run; 

如何在SQLite中执行此操作?

+0

对于downvoter,请让我知道我可以改善这个问题!如果感觉重复,我会很乐意这样做(或删除)。 – Chuck

回答

2

您可以使用union all

create table data3 
    select A, B from data1 union all 
    select A, B from data2; 

注意,在SQL中,你并不需要创建一个新的表做这个。你可以只是把union all在一个子查询:

select d.* 
from (select A, B from data1 union all 
     select A, B from data2 
    ) d; 

这通常比创建另一个表一个更好的主意。

+0

这可以在不写出单个列名的情况下完成吗? (让我们假设我知道它们在两个数据集中都是一样的) – Chuck

+0

@Chuck是的,只要'select *',只要两个表具有相同的结构 – user2877959

+0

当然是(* facepalm *)。这会比其他答案快吗? – Chuck