Bonjour.
Je travaille sur postgis sur la création d'un atlas de mammifères. Afin de représenter les résultats de plusieurs tables j'ai pu faire une requête pour afficher toutes les données sur qgis sous la forme d'une vue (create view). Le souci c'est qu'en ajoutant une colonne (non d'espèce=> "lb_nom") la colonne que j'avais choisis comme clef primaire (code5km) perd sa règle d'unicité. Je souhaite donc pouvoir ajouter une colonne qui puisse servir de clef primaire pour afficher la vue sur QGis.
la vue de base à cette forme là
je pensais ajouter simplement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 SELECT maille_5km.code5km, maille_5km.geom AS geom_mailles, count(DISTINCT lot_pelote.id_site_c) AS "nb lot", count(pelote.id_lot_p) AS "nb pelotes", Pelote.taxref_select.lb_nom, CASE WHEN (sum(proie.effectif) > 0) THEN sum(proie.effectif) ELSE (0)::bigint END AS nb_proies, count(DISTINCT taxref_select.cd_nom) AS "nb espece" FROM faune_flore.maille_5km, ((((pelote.site_collecte LEFT JOIN pelote.lot_pelote ON ((site_collecte.id_site_c = lot_pelote.id_site_c))) LEFT JOIN pelote.pelote ON ((lot_pelote.id_lot = pelote.id_lot_p))) LEFT JOIN pelote.proie ON ((pelote.id_pelote = proie.id_pelote))) LEFT JOIN pelote.taxref_select ON ((proie.cd_nom = taxref_select.cd_nom))) WHERE st_intersects(maille_5km.geom, site_collecte.geom) GROUP BY maille_5km.code5km,Pelote.taxref_select.lb_nom
...devant mais manifestement il me manque un truc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 create or replace view atlas_mammals add column [ID_PK] integer NOT NULL DEFAULT nextval('atlas_mammals');
Le message d'erreur me dis:
syntax error at or near "add"
LINE 2: add column [ID_PK] integer NOT NULL DEFAULT nextval('atlas_m...
Est ce que quelqu'un aurait une idée ?
Partager