#1 Mon 25 May 2009 13:10
- JSG
- Juste Inscrit !
- Date d'inscription: 9 Jan 2009
- Messages: 7
Requête - Opérateur "If"?
Bonjour,
je cherche à mettre à jour une colonne "pente" en fonction de la valeur d'une autre colonne. Pour être plus clair :
dans ma table, j'ai deux colonnes : "Lower" et "Upper". j'ai rajouté un champs appelé "Pente".
Je souhaite que mes éléments dont "Lower"="-0.181969" aient leur colonne "Pente"="faible" puis répéter cette opération avec "Lower"="0.9419" -> "Pente"="modérée" etc...
j'ai pensé à deux méthodes :
1]
je cherche d'abord à selectionner les lignes où "Lower"="-0.181969" puis mettre à jour la colonne "Pente"="faible" pour les éléments selctionnés
Lorsque je fais ma selection, une fenêtre : "Aucun enregistrement n'est selectionné" apparait.
1)Est-ce du au fait que ma table est celle d'un "contour" crée d'après un Grid sous VM?
2) dans ce cas, dois-je faire une manip particulière pour pouvoir faire une selection ?
J'ai essayé une deuxième méthode :
2]
Utiliser un opérateur du type If
mettre à jour ma colonne pente en utilisant une fonction telle SI ou IF de la manière suivante : If("Lower"="-0.181969");"Pente"="faible" j'ai essayé avec parenthèses, sans parenthèses en inversant le sens de la requête etc...
1) est-ce que l'opérateur "If" existe-t-il et si oui est-ce la bon usage?
2) sinon, quel opérateur dois-je utiliser et avec quel synthaxe?
J'ai crée un nouveau sujet car après une longue recherche sur le forum, je n'ai toujours pas trouvé de réponse....
Précision, j'utilise MapInfo 7.0
Merci d'avance pour votre aide
JS
Hors ligne
#2 Mon 25 May 2009 13:25
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requête - Opérateur "If"?
Bonjour
Seule la première méthode est valide: sélection puis mise à jour de la sélection (attention à ça !!)
Pas de If... dans le SQL
Quelle est la nature du champ "Lower" ?? ce que vous écrivez présume que c'est du texte (guillemets)
Pour du numérique, la condition est Lower = -0.181969 ...
Hors ligne
#3 Mon 25 May 2009 13:45
- JSG
- Juste Inscrit !
- Date d'inscription: 9 Jan 2009
- Messages: 7
Re: Requête - Opérateur "If"?
Autant pour moi pour le If. Peut-être que j'ai vu cette opérateur sous ArcGis ou alors je me trompe totalement...
Le champs "Lower" est un flottant
j'ai réussi ma selection selection sans les guillemets et, comme vous l'avez écrit, en mettant un point à ma valeur plutôt qu'une virgule. Tout de suite ca marche mieux. Merci
Savez-vous si sur le site il y a un onglet ou un poste regroupant les formules des requêtes les plus utilisées?
petit souci supplémentaire...
une fois ma selection faite, je me demande qu elle manip je dois faire :
enregistrer la selection ou mettre a jour ma colonne pente depuis ma table de base à partir de la table de la selection obtenue?
comme vous l avez compris je ne suis pas un crac de MI
Merci encore
Hors ligne
#4 Mon 25 May 2009 13:55
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requête - Opérateur "If"?
... mettre a jour ma colonne pente de ma table de base à partir de la table selection obtenue?...
La solution est là
Cette sélection se nommera "selection" si vous n'y "touchez" pas, sinon queryN...ou alors bidule si vous avez décidé de l'appeler ainsi (item "résultat dans table:" du requêteur)
Pour le reste...lire les "documents spécifiques" (surtout la partie 1) ici...
Hors ligne
#5 Mon 25 May 2009 14:05
- JSG
- Juste Inscrit !
- Date d'inscription: 9 Jan 2009
- Messages: 7
Re: Requête - Opérateur "If"?
J'ai réussi à obtenir ce que je voulais. Merci pour votre aide et pour le lien.
Cordialement
Hors ligne