SQLite垂直堆栈

时间:2017-08-04 10:41:05

标签: sql sqlite sas

我有两张桌子:

data1
A B
0 1
0 1

data2
A B
2 3
2 3

我想创建一个第4个表,它是上面的垂直堆栈:

data3
A B
0 1
0 1
2 3
2 3

我不熟悉SQLite,目前正在使用SAS,这可以使用DATA步骤查询来完成:

data data3;
set data1 data2;
run;

我如何在SQLite中执行此操作?

2 个答案:

答案 0 :(得分:3)

您可以使用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;

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

答案 1 :(得分:2)

您可以使用CREATE TABLE ... AS SELECTINSERT INTO table SELECT ...查询,例如:

CREATE TABLE data3 AS SELECT * FROM data1;
INSERT INTO data3 SELECT * FROM data2;