IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

sql server : requête sous python comporte la division entre deux attributs [2008R2]


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut sql server : requête sous python comporte la division entre deux attributs
    salut,

    je travaille actuellement avec les requêtes sous python sur une base de données sql server.
    j'ai rencontré une erreur lors de l'exécution de la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    req0="Select (RendTotal2/RendTotal1)  as [TA1]  FROM hhh.DBO.CerHiv1,hhh.DBO.CerHiv2  Where hhh.DBO.CerHiv1.CodeCommuneFK=hhh.DBO.CerHiv2.CodeCommuneFK " 
    arcpy.CreateDatabaseView_management(BD_SIGMSA4, "CerHiv0", req0)
    l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime error  Traceback (most recent call last):   File "<string>", line 12, in <module>   File "f:\program files\arcgis\desktop10.1\arcpy\arcpy\management.py", line 3635, in CreateDatabaseView     raise e ExecuteError: ERROR 999999: Error executing function. [Microsoft SQL Server Native Client 10.0: Incorrect syntax near 'RendTotal1'.] DBMS table not found Failed to execute (CreateDatabaseView).  
    >>>
    j'ai essayé de remplacer l'opérateur (/) par (-) et (*), ça fonctionne bien sauf avec la division.

    je me demande quel est le problème exactement?

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Division par zéro ?

  3. #3
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Division par zéro ?
    edit:

    je suis désolé, je me suis trompé. j'ai vérifié bien il y a de valeurs zéro

  4. #4
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    bonjour,

    je vais détailler dans mon problème, peut être ça devient plus clair.

    explication:

    je travaille avec les requêtes sous python et sur une BD sql server.
    je voulais exécuter cette formule:
    "select ((p2-p1)/p1)*100 .........from........"
    mais après l'exécution me donne une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime error  Traceback (most recent call last):   File "<string>", line 12, IN <module>   File "f:\program files\arcgis\desktop10.1\arcpy\arcpy\management.py", line 3635, IN CreateDatabaseView     raise e ExecuteError: ERROR 999999: Error executing FUNCTION. [Microsoft SQL Server Native Client 10.0: Incorrect syntax near 'RendTotal1'.] DBMS TABLE NOT found Failed TO execute (CreateDatabaseView).

    RQ: RendTotal1 est remplacé par p1
    j'ai essayé d'utiliser CASE mais ça ne change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    req="select CASE WHEN ((p2-p1)=0) OR  (p1=0) THEN NULL  ELSE ((p2-p1)/p1)*100  END as p  from table1,table2  where table1.code1=table2.code2"
    arcpy.CreateDatabaseView_management(BD,"resultat",req)

    autre remarque: le champ p1 contient des valeurs égale à 0.
    et le champ de différence peut contient des valeurs 0 et négative.


    je vous remercie d'avance

  5. #5
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    j'ai réglé mon problème, en fait j'ai appliqué la division d'une façon indirecte.

    concernant la division: http://webtic.free.fr/sql/SQLDivision.htm



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lenteur requêtes ODBC SQL-server 2005 sous Vista
    Par Macc dans le forum Windows Vista
    Réponses: 3
    Dernier message: 04/08/2011, 14h57
  2. [SQL Server] Requête compliquée
    Par Cpt Anderson dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/01/2006, 14h24
  3. pb installation de sql server 2000 sous windows server 2003
    Par timsah dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 02/10/2005, 14h06
  4. installation SQL server 2000 sous Win Xp SP2
    Par Youssef dans le forum Windows XP
    Réponses: 2
    Dernier message: 01/09/2005, 17h31
  5. [SQL Server]Requête avec DateDiff
    Par sangokus dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/05/2004, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo