5

我正在使用 Access 2000,我有 2 个查询:

第一个是:

CREATE TABLE first_table_name (....)

第二个是:

INSERT INTO first_table_name [(column1, column2, ... columnN)] 
   SELECT column1, column2, ...columnN 
   FROM second_table_name
   [WHERE condition];

是否可以只用一个查询来做同样的事情(创建一个表并立即使用另一个表填充它)?

谢谢 !

4

6 回答 6

6

尝试

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

first_table_name 将具有与第二个表名相同的表列

于 2013-05-02T13:08:48.283 回答
3
SELECT column1, column2, ...columnN 
INTO new_table
FROM second_table_name
[WHERE condition];
于 2013-05-02T13:07:48.023 回答
1

方法一: 插入选择

INSERT INTO Table1 (col1, col2)
SELECT col1, col2
FROM Table2

方法 2: 选择进入

SELECT col1, col2
INTO Table1 
FROM Table2

注意:表包含相同的架构

于 2013-05-02T13:15:08.177 回答
0

从另一个表中选择的记录插入到一​​个表中是可能的,这里是文档。如果您使用的是 mysql:mysql insert select

于 2013-05-02T13:08:34.447 回答
0
CREATE TABLE new_table AS SELECT col1, col2, ... FROM second_table_name WHERE ...
于 2013-05-02T13:10:19.473 回答
0

这样做的唯一方法是:

SELECT blah INTO [ #local | ##global ] FROM ... WHERE

但这不是一张永久的桌子,当...时会消失。

if #local table then 当用户断开连接 if ##global table 然后当所有使用它的用户断开连接

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

您可以编写一个存储过程来执行创建 + 插入,然后只用一个后续语句在很多地方执行它,但这有点欺骗答案。

于 2013-05-02T13:12:35.807 回答