Как создать / заполнить таблицу SQLITE из команды JOIN? - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь объединить две таблицы в столбце, а затем заполнить новую таблицу результатами запроса.

Я знаю, что команда соединения дает мне нужные данные таблицы, но теперь, как мне вставить эти данные в новую таблицу без необходимости циклически просматривать результаты, поскольку существует много уникальных имен столбцов. Есть ли способ сделать это с помощью команды SQLite? Чтобы сделать это без команды SQLite, потребуется вложенный цикл и станет дорогим в вычислительном отношении (если он даже работает).

Присоединиться к команде, которая работает:

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 Ответ

1 голос
/ 20 июня 2019

sql часть:

CREATE TABLE new_table AS
  SELECT expressions
  FROM existing_tables
  [WHERE conditions];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...