SQLite:连接两个表

时间:2016-12-08 18:36:20

标签: mysql sqlite select join

我正在尝试创建一个新的SQLite表,只合并一个表中的选定列以及第二个表中的所有列。这两个表只共享一列(一个表的主键和第二个表的外键)。

create temp tablex as select column 1, column2 from table1 natural join table2;

连接运行,但结果表只包含表1中的列 - 表2中没有列。 我尝试过使用table2的子查询:

create temp tablex as select column 1, column2 from table1 natural join select * from table2;

create temp tablex as select column 1, column2 from table1 natural join (select * from table2);

(还有一些方法可以让它正确),但这些都给我一个语法错误"接近选择。"  如果我提前创建table1的列子集并且在没有任何"选择的情况下自然合并生成的两个表,我可以很好地进行合并。"但我认为我应该能够在一个SQL语句中执行此操作。 我究竟做错了什么? (如果有必要,我可以创建一个模型,但我认为我错过了正确语法中的一个点)。 在此先感谢您的帮助。 Larry Hunsicker

2 个答案:

答案 0 :(得分:2)

proc unknown args {
    set body [lindex $args end]
    if {[string first "related_pg_pin" $body] == -1} {puts $args}
}
source file.txt
你可以这样做。

答案 1 :(得分:1)

是。这很有效。

create temp table a as select b.col1, b.col2, c.* from table1 as b natural join table2 as c;

非常感谢。