1

PostgreSQL: Windows マシン上の v9.2。

更新: サーバー上の postgres のバージョンは 9.0 で、私のマシンのバージョンは 9.2.1 です。

次のクエリを使用して、作成したテーブルを更新しようとしています。

WITH
    nei_nox AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%nitrogen%' GROUP BY fips),
    nei_sox AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%sulfur%' GROUP BY fips),
    nei_co AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%monoxide%' GROUP BY fips),
    nei_voc AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%PM10%' GROUP BY fips),
    nei_nh3 AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%PM2.5%' GROUP BY fips),
    nei_pm10 AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%volatile%' GROUP BY fips),
    nei_pm25 AS (SELECT fips, sum(total_emissions) AS x FROM nei_data WHERE 
        pollutant_name ILIKE '%ammonia%' GROUP BY fips)

-- INSERT INTO nei_data_by_county
(
    SELECT dat.fips, nei_nox.x as "nox",
         nei_sox.x as "sox",
         nei_co.x as "co",
         nei_voc.x as "voc",
         nei_nh3.x as "nh3",
         nei_pm10.x as "pm10",
         nei_pm25.x as "pm25"
    FROM bts2dat_55.cg_data dat
    LEFT OUTER JOIN nei_nox ON dat.fips = nei_nox.fips
    LEFT OUTER JOIN nei_sox ON dat.fips = nei_sox.fips
    LEFT OUTER JOIN nei_co ON dat.fips = nei_co.fips
    LEFT OUTER JOIN nei_voc ON dat.fips = nei_voc.fips
    LEFT OUTER JOIN nei_nh3 ON dat.fips = nei_nh3.fips
    LEFT OUTER JOIN nei_pm10 ON dat.fips = nei_pm10.fips
    LEFT OUTER JOIN nei_pm25 ON dat.fips = nei_pm25.fips
);

pgAdmin でクエリを実行すると、期待どおりにデータが返されます。ただし、コメントを外すと--INSERT INTO nei_data_by_county、次のエラーが発生します。

ERROR:  syntax error at or near "INSERT"
LINE 33: INSERT INTO nei_data_by_county
         ^

ドキュメントWITHから、ステートメントとステートメントを一緒に使用できることはわかっていますがINSERT、このクエリを正しく機能させることができません。

他の誰かがこの問題に遭遇しましたか?

4

1 に答える 1