#1 Fri 02 April 2021 11:57
- antoine_invernon
- Juste Inscrit !
- Date d'inscription: 20 Dec 2019
- Messages: 1
copier colonne geometrie entre deux tables
Bonjour,
je travail actuellement sur deux tables recensant des faits de délinquance : commune_2018 et commune_2020.
les deux tables ont la même structure que voici :
CREATE TABLE indicateurs.communes_2018
(
cod_insee integer,
com_standard character varying(180) COLLATE pg_catalog."default",
intercommunalite character varying(180) COLLATE pg_catalog."default",
cod_idx integer,
pop_2014 integer,
nb_fc_2017 bigint,
nb_fc_2018 bigint,
variation text COLLATE pg_catalog."default",
tx_crim_2017 text COLLATE pg_catalog."default",
tx_crim_2018 text COLLATE pg_catalog."default",
cumul integer,
path_doc character varying(50) COLLATE pg_catalog."default",
source character varying(20) COLLATE pg_catalog."default",
geom geometry(Point,2154),
geom2 geometry(MultiPolygon,2154)
)
Dans ma table commune_2020, les colonnes geom et geom2 sont vides.
Je souhaite les remplir avec les données des colonnes geom et geom2 de la table commune_2018, mais cela s'avère impossible : résultat ambigu, impossile de copier plus 'une ligne...
Voilà la requête que j'utilise :update indicateurs.communes_2020 AS a set geom = (select b.geom from indicateurs.communes_2018 b where a.cod_insee = b.cod_insee)
cette requête me renvoi le message d'erreur suivant : plus d'une ligne renvoyée par une sous-requête utilisée comme une expression Etat SQL 21000
J'ai besoin absolument de connaître la requête permettant de faire ce qui s'apparente à une jointure sous qgis, sans ça je suis bloqué dans mon travail...
Merci d'avance
PS : le net fourmille de solution, j'ai tout essayé et aucune ne fonctionne!
Hors ligne
#2 Fri 02 April 2021 12:28
- Ben22
- Participant actif
- Lieu: 33
- Date d'inscription: 11 May 2016
- Messages: 95
Re: copier colonne geometrie entre deux tables
bonjour
essayez cette ecriture :
Code:
UPDATE indicateurs.communes_2020 AS a SET geom = b.geom , geom2 = b.geom2 FROM indicateurs.communes_2018 AS b WHERE a.cod_insee = b.cod_insee
Dernière modification par Ben22 (Fri 02 April 2021 12:33)
Hors ligne