Я хотел бы заполнить таблицу результатами запроса по существующей таблице. Как я могу это сделать?
Заполнение таблицы из результатов запроса (mysql)
Ответ 1
(Вам не нужно сопоставлять схемы таблиц)
INSERT tbl_name (col1, col2)
SELECT value1, value2
FROM othertable
См. ссылку INSERT... SELECT Синтаксис
Ответ 2
insert into table_name ...
select * from table_name where ....
Целевая таблица и исходный запрос должны совпадать в количестве столбцов и типов данных
Смотрите ссылку
Ответ 3
Вы даже можете создавать таблицы таким образом, хотя имена столбцов должны совпадать или результаты выбора помещаются в автоматически добавленные столбцы:
mysql> create table foo ( id int primary key auto_increment, bar datetime )
-> select now() as bar, now() as baz from dual;
Query OK, 1 row affected, 1 warning (0.06 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from foo;
+----+---------------------+---------------------+
| id | bar | baz |
+----+---------------------+---------------------+
| 1 | 2009-03-10 17:01:35 | 2009-03-10 17:01:35 |
+----+---------------------+---------------------+
1 row in set (0.00 sec)