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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 18 January 2011 10:48

audrey.mialon
Juste Inscrit !
Date d'inscription: 25 Feb 2010
Messages: 4

ORACLE/SQL : Requête SQL dans le logiciel Arcgis

Bonjour,

Je réalise des cartes grâce au logiciel Arcgis 9.3.1. Pour l'une d'entre elle j'utilise cette requête SQL :

Code:

USING SQLJOIN='select P_CDEPT, count(P_CDEPT) as D0, -1 as D1, -1 as D2, -1 as D3, -1 as D4 from V5KMAJAA.VW_MATABLE WHERE DATE>=$FROM$ and DATE<=$TO$ GROUP BY P_CDEPT' and USING FCKEYFIELD='P_CDEP' and USING FCKEYFIELDTYPEISSTRING='true' and USING USERCACHESESSION='35' and using parameter(FROM,DATE,'01/01/2010') and using parameter(TO,DATE,'31/03/2010')

Elle fonctionne très bien.

Désormais je voudrais utiliser cette même requête sur la même période mais pour l'année précédente. C'est à dire si on considère que l'année est 2010 alors je souhaite avoir une requête qui me permette de faire "année - 1" pour avoir les résultats 2009.

J'ai essayé ceci mais ça ne fonctionne pas : ($FROM$ - INTERVAL '1' year) , ($TO$ - INTERVAL '1' year)

Code:

USING SQLJOIN='select P_CDEPT, count(P_CDEPT) as D0, -1 as D1, -1 as D2, -1 as D3, -1 as D4 from V5KMAJAA.VW_MATABLE WHERE DATE>=[b]($FROM$ - INTERVAL '1' year)[/b] and DATE<=[b]($TO$ - INTERVAL '1' year)[/b] GROUP BY P_CDEPT' and USING FCKEYFIELD='P_CDEP' and USING FCKEYFIELDTYPEISSTRING='true' and USING USERCACHESESSION='35' and using parameter(FROM,DATE,'01/01/2010') and using parameter(TO,DATE,'31/03/2010')

Quelqu'un aurait il une idée pour me guider vers la solution ?

Merci de votre attention

Hors ligne

 

#2 Tue 18 January 2011 11:29

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: ORACLE/SQL : Requête SQL dans le logiciel Arcgis

Aloha,
Ne pouvez-vous pas écrire plutôt :

Code:

USING SQLJOIN='select P_CDEPT, count(P_CDEPT) as D0, -1 as D1, -1 as D2, -1 as D3, -1 as D4 
from V5KMAJAA.VW_MATABLE 
WHERE DATE>=($FROM$) and DATE<=($TO$)
GROUP BY P_CDEPT' 
and USING FCKEYFIELD='P_CDEP' 
and USING FCKEYFIELDTYPEISSTRING='true' 
and USING USERCACHESESSION='35' 
and using parameter(FROM,DATE,'01/01/2009') and using parameter(TO,DATE,'31/03/2009')

Ou alors essayez "YEAR" et non "year".
Avec SELECT *  FROM MATABLE WHERE CDATE <= (? - INTERVAL '1' YEAR)... j'obtiens de bons résultats.


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#3 Wed 19 January 2011 15:27

audrey.mialon
Juste Inscrit !
Date d'inscription: 25 Feb 2010
Messages: 4

Re: ORACLE/SQL : Requête SQL dans le logiciel Arcgis

Bonjour et merci de votre réponse,

Non il ne m'est pas possible de changer directement la date dans la requête car cette carte est utilisée à travers une appli web et c'est dans cette dernière que la date est définie. Je souhaite donc écrire ce type de code ($FROM$ - INTERVAL '1' year) pour qu'il prenne la date défini dans l'application et qu'il fasse YEAR-1.

J'ai essayé avec votre proposition, j'obtiens un bon résultat avec SQL plus mais pas dans arcmap, ce doit être mon outil qui pose soucis.

Hors ligne

 

#4 Wed 19 January 2011 15:36

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: ORACLE/SQL : Requête SQL dans le logiciel Arcgis

Et dans votre appli, est-il possible de définir une autre série de paramètres : FROM_I et TO_I définis à partir de FROM et TO mais avec l'interval qui récupère le paramètre entré par l'utilisateur ?


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#5 Wed 19 January 2011 17:06

audrey.mialon
Juste Inscrit !
Date d'inscription: 25 Feb 2010
Messages: 4

Re: ORACLE/SQL : Requête SQL dans le logiciel Arcgis

Bonsoir,

Merci encore de votre réponse.

j'ai essayé votre solution mais là non plus chez moi ça ne fonctionne pas. Du coup avec un collègue on a été lire le code de l'application pas à pas et on s'est rendu compte que notre appli ne connaissait que $FROM$ et $TO$ et qu'elle remplaçait ces paramètres directement par la date entrée par l'utilisateur. De ce fait on ne peut pas faire de "calcul" sur le $FROM$ sans modifier l'application.

Je vous remercie de votre attention.

Hors ligne

 

Pied de page des forums

Powered by FluxBB