[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