PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

INSERT a SELECT GROUP BY :plus de colonnes cibles que d'expressions erreur

Lorsque vous mettez des expressions entre parenthèses, Postgres interprète le résultat comme un tuple -- essentiellement une structure ou un enregistrement.

Donc, votre déclaration :

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)
     )

retourne une valeur. Cette valeur est un enregistrement.

Les bases de données qui ne prennent pas en charge les tuples renverraient une erreur.

La solution est de supprimer les parenthèses.