Ciao,

@ Andrea:>UPDATE comuni2011

SET pop2001 = com2001_g.pop2001
WHERE comuni2011.nome_com=com2001_g.nome_com;

questa sintassi a me pare errata.
In quale DBMS sarebbe supportata ?

pare che in postgreSQL questa sintassi funzioni, secondo quanto suggerito da un amico, ma non usandolo non l'ho testato.


@Alessandro:

CREATE INDEX idx_2011 ON com2011 (COD_REG, COD_PRO, PRO_COM);
CREATE INDEX idx_2001 ON com2001_s (COD_REG, COD_PRO, PRO_COM);

CREATE TABLE comuni_2011 AS
SELECT a.PK_UID AS PK_UID, a.COD_REG AS COD_REG,
  a.COD_PRO as COD_PRO, a.PRO_COM AS PRO_COM,
  a.NOME_COM AS NOME_COM, a.NOME_TED AS NOME_TED,
  b.POP2001 AS POP2001, a.Geometry AS Geometry
FROM com2011 AS a
LEFT JOIN com2001_s AS b ON (
  a.COD_REG = b.COD_REG AND a.COD_PRO = b.COD_PRO
  AND a.PRO_COM = b.PRO_COM);

SELECT RecoverGeometryColumn('comuni_2011',
  'Geometry', 23032, 'MULTIPOLYGON', 'XY');


ovviamente ha funzionato :) , immaginavo ci volesse una join, chiarissimo il perchè della left join.

Grazie mille!!!

Carlo


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011

Rispondere a