Sql 创建一个表+在一个查询中使用另一个表填充它

Sql 创建一个表+在一个查询中使用另一个表填充它,sql,Sql,我正在使用Access 2000,有两个问题: 第一个是: CREATE TABLE first_table_name (....) 二是: INSERT INTO first_table_name [(column1, column2, ... columnN)] SELECT column1, column2, ...columnN FROM second_table_name [WHERE condition]; 是否可以执行相同的操作创建一个表,并使用另一个表和

我正在使用Access 2000,有两个问题:

第一个是:

CREATE TABLE first_table_name (....)
二是:

INSERT INTO first_table_name [(column1, column2, ... columnN)] 
   SELECT column1, column2, ...columnN 
   FROM second_table_name
   [WHERE condition];
是否可以执行相同的操作创建一个表,并使用另一个表和一个查询立即填充它


谢谢大家!

可以在一个表中插入从另一个表中选择的记录,这是文档。如果您使用的是mysql:

请尝试

SELECT column1, column2, ...columnN 
INTO new_table
FROM second_table_name
[WHERE condition];
SELECT column1, column2, ...columnN 
   into first_table_name 
   FROM second_table_name
   [WHERE condition];

第一个表名将与第二个表名具有相同的表列,唯一的方法是:

CREATE TABLE new_table AS SELECT col1, col2, ... FROM second_table_name WHERE ...
从…中选择blah进入[本地|全局]。。。在哪里

但这不是一张永久的桌子,当

如果是本地表,则当用户断开连接时 如果是全局表,则当所有使用它的用户断开连接时

所以这不是一个很好的解决方案

您可以编写一个存储过程来执行create+insert,然后只需一个后续语句就可以在许多地方执行它,但这是一种对答案的欺骗。

方法1:insert INTO SELECT

方法2:选择进入


注意:表包含相同的模式

欢迎使用堆栈溢出!请通过添加适当的标记Oracle、SQL Server、MySQL等来指定目标RDBMS。。可能有一些答案利用了并非普遍支持的语言或产品功能。此外,通过使用特定的RDBMS对其进行标记,您的问题可能会受到更适合回答该问题的人的注意。在Sql server insert into table1 value select*from table2中,两个条件应具有相同的结构抱歉,忘了精确说明我使用的是Microsoft Access 2000!但是已经收到了工作答案,谢谢大家!
INSERT INTO Table1 (col1, col2)
SELECT col1, col2
FROM Table2
SELECT col1, col2
INTO Table1 
FROM Table2