如何将从另一个表中提取的记录插入到一​​个表中
P粉449281068
P粉449281068 2023-10-10 17:36:09
0
2
747

我正在尝试编写一个查询,从表中提取和转换数据,然后将这些数据插入到另一个表中。是的,这是一个数据仓库查询,我是在 MS Access 中执行的。所以基本上我想要一些像这样的查询:

INSERT INTO Table2(LongIntColumn2, CurrencyColumn2) VALUES
  (SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1);

我尝试过,但收到语法错误消息。

如果你想这样做,你会怎么做?

P粉449281068
P粉449281068

全部回复(2)
P粉949267121

您有两个语法选项:

选项 1

CREATE TABLE Table1 (
    id int identity(1, 1) not null,
    LongIntColumn1 int,
    CurrencyColumn money
)

CREATE TABLE Table2 (
    id int identity(1, 1) not null,
    LongIntColumn2 int,
    CurrencyColumn2 money
)

INSERT INTO Table1 VALUES(12, 12.00)
INSERT INTO Table1 VALUES(11, 13.00)

INSERT INTO Table2
SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1

选项 2

CREATE TABLE Table1 (
    id int identity(1, 1) not null,
    LongIntColumn1 int,
    CurrencyColumn money
)

INSERT INTO Table1 VALUES(12, 12.00)
INSERT INTO Table1 VALUES(11, 13.00)


SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1
INTO Table2
FROM Table1
GROUP BY LongIntColumn1

请记住,选项 2 将创建一个仅包含投影上的列(SELECT 上的列)的表。

P粉322106755

没有“VALUES”,没有括号:

INSERT INTO Table2(LongIntColumn2, CurrencyColumn2)
SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板