我尝试在一列上联接两个表,然后用查询结果填充一个新表。
我知道join命令为我提供了我想要的表数据,但是现在我如何将这些数据插入到一个新的表中,而不必遍历结果,因为有许多惟一的列名。有没有一种方法可以使用SQLite命令来实现这一点?要在没有SQLite命令的情况下做到这一点,将需要嵌套的for循环,并且在计算上变得非常昂贵(如果它还能工作的话)。
有效的Join命令:
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")尝试使用不出错但不填充表的join和insert命令:
c.execute("INSERT INTO 'NewTableName' SELECT * FROM db_1.Table1Name AS a JOIN db_2.Table2Name AS b WHERE a.Column1 = b.Column2")发布于 2019-06-20 08:05:44
sql部分是:
CREATE TABLE new_table AS
SELECT expressions
FROM existing_tables
[WHERE conditions];https://stackoverflow.com/questions/56677337
复制相似问题