如何將從另一個表中提取的記錄插入到一個表中
P粉449281068
P粉449281068 2023-10-10 17:36:09
0
2
724

我正在嘗試編寫一個查詢,從表中提取和轉換數據,然後將這些數據插入到另一個表中。是的,這是一個資料倉儲查詢,我是在 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;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板