如何通过JOIN命令创建/填充SQLITE表?

时间:2019-06-19 23:57:45

标签: python python-3.x sqlite

我试图在一个列上联接两个表,然后用查询结果填充一个新表。

我知道join命令为我提供了我想要的表数据,但是现在有很多唯一的列名,如何将这些数据插入到新表中而不必遍历结果。有没有办法用SQLite命令来做到这一点?要在没有SQLite命令的情况下执行此操作,将需要嵌套的for循环,并在计算上变得昂贵(如果它甚至可以工作)。

加入有效的命令:

connection = sqlite3.connect("database1.db")
c = connection.cursor()
c.execute("ATTACH DATABASE 'database1.db' AS db_1")
c.execute("ATTACH DATABASE 'database2.db' AS db_2")
c.execute("SELECT * FROM db_1.Table1Name AS a JOIN db_2.Table2Name AS b WHERE a.Column1 = b.Column2")

尝试加入并插入不会出错但不会填充表的命令:

c.execute("INSERT INTO 'NewTableName' SELECT * FROM db_1.Table1Name AS a JOIN db_2.Table2Name AS b WHERE a.Column1 = b.Column2")

1 个答案:

答案 0 :(得分:1)

sql部分是:

CREATE TABLE new_table AS
  SELECT expressions
  FROM existing_tables
  [WHERE conditions];