Si i tipi sono gli stessi Ho provato con la tua indicazione creando un vettore e riproducendo il caso mio. Lo script è questo:
* WITH nuova_tabella_dissolvenza AS (* * SELECT ST_Union(geom) as geom, tipo FROM* * update_dissolve GROUP BY tipo* * )* * UPDATE update_dissolve o* * SET o.geom = n.geom* * FROM nuova_tabella_dissolvenza n* * WHERE o.tipo = n.tipo;* Mi compare questo errore però: *ERROR: ERRORE: la colonna "o" della relazione "update_dissolve" non esiste* *LINE 6: SET o.geom = n.geom* * ^* *SQL state: 42703* *Character: 157* Il giorno 22 febbraio 2018 17:56, Sandro Santilli <s...@kbt.io> ha scritto: > On Thu, Feb 22, 2018 at 08:57:37AM -0700, Massimiliano Moraca wrote: > > > /UPDATE tabella_dissolvenza > > SET gemetry = (SELECT ST_Union(geometry) as gemetry, tipo FROM > > tabella_dissolvenza GROUP BY tipo);/ > > > > > Giustamente mi compare questo messaggio /ERRORE: la sottoquery deve > > restituire solo una colonna/ Il messaggio è chiarissimo e ci sarei dovuto > > arrivare prima. > > > > La mia domanda è(finalmente!): c'è un modo per aggiornare in automatico > le > > geometrie del vettore in cui ho applicato la dissolvenza o mi tocca > rifare > > le tabella(che tramuterei in view a questo punto)? > > Se il numero dei tipi e' lo stesso di prima puoi aggiornare > la tabella cosi': > > WITH nuova_tabella_dissolvenza AS ( > SELECT ST_Union(geometry) as gemetry, tipo FROM > tabella_dissolvenza GROUP BY tipo > ) > UPDATE tabella_dissolvenza o > SET o.geometry = n.geometry > FROM nuova_tabella_dissolvenza n > WHERE o.tipo = n.tipo. > > PostgreSQL supporta le "materialized view" se vuoi tramutare la > tabella in qualcosa di piu' stabile di una view ma piu' facilmente > aggiornabile di una tabella. Occhio che usare ST_Union in una view > puo' precluderti la possibilita' di aggiornare PostGIS nel caso > in cui l'aggregato ST_Union cambi il nome di un attributo o qualcosa > di simile. > > --strk; > _______________________________________________ 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. 796 iscritti al 28/12/2017