我正在尝试创建一个新的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
答案 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;
非常感谢。