[Gfoss] Fwd: SQL Update con SQLite / spatialite
Carlo Cormio
carlocormio a hotmail.it
Ven 30 Set 2011 13:06:31 CEST
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
Maggiori informazioni sulla lista
Gfoss