Rechercher : dans
Par :

[SQL/Oracle] Analyse 12 mois glissants

Dernière réponse le 15 jui 2008 à 10:01:08 pakita, le 7 jui 2008 à 16:15:13 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite créer une requête SQL pour Oracle 10g permettant d'analyser les commandes clients sur les 12 derniers mois glissants.

Pour être plus précis :
Nous sommes en juillet 2008, et bien je souhaite afficher toutes les commandes clients depuis juillet 2007, quand nous serons en août 2008 j'aurai besoin d'afficher toutes les commandes clients depuis août 2007, et ainsi de suite...

SELECT tcc.champ_n°_cde_client
FROM Table_cde_client tcc

Il ne faudrait afficher que les "champ_n°_cde_client" des 12 derniers mois glissants.

Quelles fonctions dois-je utiliser ?

Merci d'avance pour vos réponses.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [SQL/Oracle] Analyse 12 mois glissants » dans :
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
Oracle - Introduction au SGBD Oracle VoirIntroduction au SGBD Oracle Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle Corporation - http://www.oracle.com), leader mondial des bases de données. La société Oracle Corporation a été créée en...

1

dicham, le 7 jui 2008 à 16:24:04

Select ... from base_de_donnees.table where date_commande between to_date('01/07/2007','dd/mm/yyyy') and to_date('01/07/2008','dd/mm/yyyy')

Répondre à dicham

2

pakita, le 7 jui 2008 à 16:30:49
  • +1

Merci pour ta réponse.
Cependant, cette requête implique que je la modifie chaque mois. Or, j'aimerais qu'elle affiche automatiquement les 12 derniers mois par rapport au mois en cours.

Si tu avais une idée de la requête magique, ce serait super !

Répondre à pakita

3

 pakita, le 15 jui 2008 à 10:01:08
  • +1

J'ai finalement trouver la solution pour ne garder les résultats que des 12 derniers mois glissants :

Il suffit d'écrire dans le WHERE :

ROUND (MONTHS_BETWEEN (SYSDATE,TO_CHAR (table_du_document.date_creation, 'DD/MM/YYYY')),0) <= '12'

Cette syntaxe a parfaitement fonctionné.

Avis aux amateurs...

Répondre à pakita