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

Printemps des cartes 2024

#1 Wed 02 June 2010 15:58

Yann Masson
Juste Inscrit !
Date d'inscription: 21 Jun 2009
Messages: 5

SQL et division par zéro

Bonjour,

Je cherche à faire une sélection de points pour lesquels le rapport entre le volume consommé et le volume autorisé est inferieur a 1,5. La requête suivante me renvoi le message : "Erreur : division par zéro", certains volumes autorisés étant =0.

Code:

SELECT * FROM MaTable WHERE Vaut > 0 AND Vcons/Vaut < 1.5

Bien sûr, je pourrais faire une première sélection :

Code:

SELECT * FROM MaTable WHERE Vaut > 0 INTO SelIntermediaire

puis :

Code:

SELECT * FROM SelIntermediaire WHERE Vcons/Vaut < 1.5

Ce qui me donne bien le résultat voulu.

Le problème est que Mapinfo semble ne pas conserver, lors de l'enregistrement du .wor, les sélections effectuées sur d'autres sélections. Enregistrer la sélection intermédiaire en dur n'est pas une solution satisfaisante car une mise à jour des données d'origine ne serait alors plus répercutée sur la sélection.

J'ai du mal à croire qu'il ne soit pas possible de faire cette sélection en une seule requête.

Merci d'avance

Hors ligne

 

#2 Wed 02 June 2010 16:24

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: SQL et division par zéro

Salut,

Peux tu expliquer

les sélections effectuées sur d'autres sélections.


Utilisation de "noselect" permets d'incrémenter ta sélection.
A+
Joël

Hors ligne

 

#3 Wed 02 June 2010 16:44

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: SQL et division par zéro

Bonjour tu peux essayer d'utiliser une expression du genre

SELECT * FROM MaTable WHERE Vcons/(Vaut+int(vaut=0)) < 1.5

par exemple

Ca marchera sauf si Vcons>0 et Vaut=0

Hors ligne

 

#4 Thu 03 June 2010 09:15

Yann Masson
Juste Inscrit !
Date d'inscription: 21 Jun 2009
Messages: 5

Re: SQL et division par zéro

Merci pour votre aide. La solution proposée par Patrick Palmier fonctionne.


Salut,

Peux tu expliquer
   

les sélections effectuées sur d'autres sélections.


Utilisation de "noselect" permets d'incrémenter ta sélection.
A+
Joël


Si je fait une sélection avec une requête SQL, cette requête est enregistrée lorsque je sauvegarde le .wor, et sera refaite à la réouverture du .wor.

Mais si je fait une nouvelle sélection dans cette sélection, aucune trace de celle-ci ne semble rester dans le .wor, et elle ne réapparait plus à sa réouverture.

Et si cette dernière sélection était affichée avec une légende correspondante, la légende peut ne plus s'afficher correctement.

Hors ligne

 

Pied de page des forums

Powered by FluxBB