PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

INSERT a SELECT GROUP BY :Fehler mehr Zielspalten als Ausdrücke

Wenn Sie Ausdrücke in Klammern setzen, interpretiert Postgres das Ergebnis als Tupel – im Wesentlichen eine Struktur oder einen Datensatz.

Also, Ihre Aussage:

SELECT (
        nextval('"KPI_MEASURE_ID_seq"'::regclass),
        now(),
        kpi_project.id,
        kpi_measure.kpi_frequency_id,
        kpi_metric.id ,
        kpi_measure.branch ,
        sum(kpi_measure.value)
     )

gibt einen Wert zurück. Dieser Wert ist ein Rekord.

Datenbanken, die keine Tupel unterstützen, würden einen Fehler zurückgeben.

Die Lösung besteht darin, die Klammern zu entfernen.