Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Tue 28 February 2012 10:35

charline.d
Juste Inscrit !
Date d'inscription: 28 Feb 2012
Messages: 1

QGIS 1.7 : Requête avec Qspatialite

Bonjour,

J'ai besoin de votre aide pour faire une requête dans Qspatialite mais je ne trouve pas le bon code:

Je dois définir la fonction de haies en fonction de plusieurs champs. Par exemple, la fonction hydrologique va dépendre de mes champs "positiontopo". il faut que ce champs soit égal à "perpendiculaire" ou "bas de versant" ou "bord de cours d'eau" pour que la haie ait une bonne fonction hydro (en fait pour que le champs "fonction hydro" , que je n'ai pas encore créé dans une nouvelle table, soit complété par "moyen" ou "sans").


Quelles fonctions dois-je utiliser? existe-t-il un pdf avec l'explication des fonctions qspatialite détaillée?

Hors ligne

 

#2 Tue 28 February 2012 11:04

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS 1.7 : Requête avec Qspatialite

Bonjour,

C'est une question purement SQL... Il faut utiliser une expression CASE dans une instruction UPDATE, un truc du genre:

Code:

UPDATE myTable SET fonctionHydro = CASE
WHEN positiontopo = "perpendiculaire"
OR positiontopo = "bas de versant"
OR positiontopo = "bord de cours d'eau"
THEN "moyen"
ELSE "sans"
END

Hors ligne

 

#3 Thu 22 March 2012 15:21

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: QGIS 1.7 : Requête avec Qspatialite

Bonjour Charline,

pour la requête SQL, si la piste de Dominique Lys est la bonne, ce serait plus :

Code:

UPDATE myTable SET fonctionHydro = "moyen" WHERE positiontopo IN ("perpendiculaire","bas de versant","bord de cours d'eau");
UPDATE myTable SET fonctionHydro = "sans" WHERE positiontopo NOT IN ("perpendiculaire","bas de versant","bord de cours d'eau");

Hors ligne

 

Pied de page des forums

Powered by FluxBB