質問するログイン新規登録

回答編集履歴

1

名前をわかりやすく修正

2021/01/14 13:43

投稿

A_kirisaki
A_kirisaki

スコア2853

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,data1,data2)";)
11
+ c.execute("CREATE TABLE result(id,col1,col2;")
9
- c.execute("INSERT INTO result SELECT data1.id,data1,data2 FROM data1.data1 INNER JOIN data2.data2 on data1.data1.id = data2.data2.id;")
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', 'お')]