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:
RQ: RendTotal1 est remplacé par p1
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).
j'ai essayé d'utiliser CASE mais ça ne change rien
autre remarque: le champ p1 contient des valeurs égale à 0.
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)
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
Partager