Ciao Massimiliano, come puoi aspettarti di avere il campo ogc_fid dopo aver fatto il dissolve? PostgreSQL ti chiede di usare un GROUP BY anche su quel campo OPPURE devi passarlo ad una funzione di aggregazione. Es.
SELECT ST_Union(geom) AS geometry, min(ogc_fid) FROM dipartimenti GROUP BY cd_diparti; In questo esempio prendo l'ogc_fid più piccolo (scelta arbitraria ma ammissibile) tra tutti i cd_diparti aggregati (dissolved). Giovanni Il giorno 13 dicembre 2017 12:13, Massimiliano Moraca < massimilianomor...@gmail.com> ha scritto: > Buongiorno, > in QGIS con un virtual layer scrivendo questa query: > > > > > > > > > > > > > > > *SELECT ST_Union(geom) AS geometry, ogc_fid, cd_diparti, dipartimenFROM > > dipartimentiGROUP BY cd_diparti;* > > Ottengo l'effetto dissolve che mi interessa(anche in SpatiaLite. > > La stessa query in PostGIS mi genera invece questo errore: > > > > > > > > > > > > > *ERROR: ERRORE: la colonna "dipartimenti.ogc_fid" deve comparire nella > > clausola GROUP BY o essere usata in una funzione di aggregazioneLINE 3: > > ogc_fid, ^SQL state: 42803Character: 39* > > > Se assecondo il messaggio mi chiede successivamente di inserire anche > *dipartimen > *ed il risultato non è il *DISSOLVE *ma la replica di ogni tupla della > tabella selezionata. > > Eliminando *ogc_fid *e *dipartimen *e rieseguendo la query in PostGis > ottengo il risultato atteso. > > Il tutto confluirà in una *VIEW*. Ho la necessità che nella view siano > presenti anche le due colonne in questione per motivi di etichettatura > *dipartimen > *(ma questo è il male minore visto che potrei risolvere con un *JOIN *in > QGIS sfruttando *cd_diparti*) e *ogc_fid *perchè dovrò poi esportare questo > database in SpatiaLite. SpatiaLite per le view "geometriche" chiede l'id > della tabella associata alla view quanto si va ad usare: > > > > > > > * INSERT INTO views_geometry_columns (view_name, view_geometry, > > view_rowid, f_table_name, f_geometry_column, read_only) VALUES > ('geometria > > creata', 'geom', 'chiave geometria sorgente', 'geometria sorgente', > > 'geom',1)* > > > Temo che nell'esportazione la view non venga attivata per questo vorrei che > ci fosse *ogc_fid*. > > Forse concettualmente sbaglio qualcosa? > > La versione di PgAdmin che uso è la 4, quella di PostgreSQL è la 10 mentre > PostGIS è 2.4. Il file se può servire è scaricabile da questo link: > https://drive.google.com/open?id=14RX4k7oXO6zxrzgjBVuIYKVE6AVCaaxk > _______________________________________________ > Gfoss@lists.gfoss.it > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss > Questa e' una lista di discussione pubblica aperta a tutti. > I messaggi di questa lista non hanno relazione diretta con le posizioni > dell'Associazione GFOSS.it. > 801 iscritti al 19/07/2017 _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 801 iscritti al 19/07/2017