bonjour,

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.


j'espère que j'aurai une réponse,
je vous remercie d'avance