解决这个问题的方法可以分为两步:首先,从两个表中获取相关记录,然后将这些记录保存到另一个表中。
下面是一个示例代码,演示如何实现这个功能:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建表1
cursor.execute('''CREATE TABLE IF NOT EXISTS table1
(id INTEGER PRIMARY KEY, name TEXT)''')
# 创建表2
cursor.execute('''CREATE TABLE IF NOT EXISTS table2
(id INTEGER PRIMARY KEY, table1_id INTEGER, value TEXT)''')
# 添加一些示例数据到表1
cursor.execute("INSERT INTO table1 (name) VALUES ('Record 1')")
cursor.execute("INSERT INTO table1 (name) VALUES ('Record 2')")
# 添加一些示例数据到表2
cursor.execute("INSERT INTO table2 (table1_id, value) VALUES (1, 'Value 1')")
cursor.execute("INSERT INTO table2 (table1_id, value) VALUES (1, 'Value 2')")
cursor.execute("INSERT INTO table2 (table1_id, value) VALUES (2, 'Value 3')")
# 查询两个表的记录,并保存到另一个表中
cursor.execute('''INSERT INTO table3 (table1_id, table1_name, table2_value)
SELECT table1.id, table1.name, table2.value
FROM table1
INNER JOIN table2 ON table1.id = table2.table1_id''')
# 提交事务并关闭连接
conn.commit()
conn.close()
上述代码首先创建了两个表table1
和table2
,然后向这两个表中添加了一些示例数据。接下来,使用SELECT
语句从这两个表中获取相关记录,并使用INNER JOIN
操作符将这两个表连接起来。最后,使用INSERT INTO
语句将获取的记录插入到另一个表table3
中。
请注意,此示例使用了SQLite数据库,并使用了Python的sqlite3模块来执行数据库操作。你可以根据自己的实际情况修改数据库连接和操作代码。
下一篇:保存依赖于所选字段的数据