1

私は SQL にかなり慣れていないので、クエリからテーブルを作成しようとしています。ただし、クエリを実行しようとすると、いくつかのエラーが発生します。

"CUM_PRD"次の列で呼び出されるテーブルを作成しようとしています:

Gov_fld_nm,
Gov_pol_nm,
Oil_pd,
Gas_pd,
Water_pd.

このクエリで入力する必要がある値は、以下のクエリからのものです。

SELECT GOV_FLD_NM,
SUM (OIL_PD),
SUM (GAS_PD),
SUM (WAT_PD)
FROM PRE_PRD
GROUP BY GOV_FLD_NM

このクエリは、単独では問題なく機能しますが、テーブル作成クエリに含めようとすると機能しません。正しい構文を使用していないと思います。

誰か助けてくれませんか?

使ってみたのがこれ。

CREATE TABLE CUM_PRD
(
    GOV_FLD_NM NVARCHAR (50),
    OIL_PD INT,
    GAS_PD INT,
    WAT_PD INT
)
INSERT INTO CUM_PRD
SELECT (
    GOV_FLD_NM,
    SUM (OIL_PD),
    SUM (GAS_PD),
    SUM (WAT_PD)
)
FROM PRE_PRD
GROUP BY GOV_FLD_NM
4

3 に答える 3

2

一時テーブルを作成する場合は、次を使用できますSELECT ... INTO...

SELECT GOV_FLD_NM, SUM (OIL_PD), SUM (GAS_PD), SUM (WAT_PD) 
INTO #CUM_PRD
FROM PRE_PRD 
GROUP BY GOV_FLD_NM

スクリプトは一時テーブルを作成していないため、最初にテーブルを作成してから挿入してください。

CREATE TABLE CUM_PRD 
( 
  GOV_FLD_NM NVARCHAR (50), 
  OIL_PD INT,
  GAS_PD INT, 
  WAT_PD INT 
);

次に、データを挿入します。

INSERT INTO CUM_PRD (GOV_FLD_NM, OIL_PD, GAS_PD, WAT_PD)
SELECT GOV_FLD_NM, SUM (OIL_PD), SUM (GAS_PD), SUM (WAT_PD) 
FROM PRE_PRD 
GROUP BY GOV_FLD_NM
于 2013-01-04T17:24:57.193 に答える
0

私はただするだろう

SELECT GOV_FLD_NM, SUM (OIL_PD), SUM (GAS_PD), SUM (WAT_PD) 
INTO CUM_PRD 
FROM PRE_PRD 
GROUP BY GOV_FLD_NM;

SELECT INTO はテーブルを作成します

于 2013-01-04T17:25:03.390 に答える
0

CREATE TABLE table_name AS 構文を使用する必要があります

CREATE TABLE CUM_PRD
AS
(
SELECT GOV_FLD_NM, SUM (OIL_PD) OIL_PD_SUM, SUM (GAS_PD) GAS_PD_SUM, SUM (WAT_PD) WAT_PD_SUM
FROM PRE_PRD
GROUP BY GOV_FLD_NM)
于 2013-01-04T17:25:39.697 に答える