回答編集履歴
1
名前をわかりやすく修正
answer
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
`ATTACH DATABASE`が使えます。sqlite はファイル名がそのままデータベースなのでこんな感じで使います。
|
2
|
+
|
3
|
+
追記:
|
4
|
+
ややこしいんでカラムも `table1.col1`、`table2.col2` に読み替えちゃいますね(それぞれ元は `table1.data1`、`table2.data2`)。
|
2
5
|
```Python
|
3
6
|
import sqlite3
|
4
7
|
conn = sqlite3.connect('result.db')
|
5
8
|
c = conn.cursor()
|
6
9
|
c.execute("ATTACH DATABASE 'data1.db' as data1;")
|
7
10
|
c.execute("ATTACH DATABASE 'data2.db' as data2;")
|
8
|
-
c.execute("CREATE TABLE result(id,
|
11
|
+
c.execute("CREATE TABLE result(id,col1,col2;")
|
9
|
-
c.execute("INSERT INTO result SELECT
|
12
|
+
c.execute("INSERT INTO result SELECT table1.id,col1,col2 FROM data1.table1 INNER JOIN data2.table2 on data1.table1.id = data2.table2.id;")
|
10
13
|
res = c.execute("SELECT * FROM result")
|
11
14
|
print(list(res))
|
12
15
|
# [(1, 'a', 'あ'), (2, 'b', 'い'), (3, 'c', 'う'), (4, 'd', 'え'), (5, 'e', 'お')]
|