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

Oracle Discussion :

PB fonctions analytique


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut PB fonctions analytique
    Bonjour

    voilà ma requête qui coince :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select * from (select CAEFQ.siret, CAEFQ.date_ca         
    ,CAEFQ.datenq ,
     last_value(round(ca)) over (partition by siret,date_ca order by decode(ca,null,to_date(null),datenq)          
     nulls   
    first rows between unbounded preceding and unbounded following) ca,
    /**c'est là ou ça coince
    /**en fait, pour canm1, j'aimerais lui associer l'avant dernière valeur du CA
    /**c'est à dire pour 2008 la valeur du CA de 2007
    /**en l'occurence 21600 du tableau que je mets en pièce jointe
    /**
    lag(round(ca),1) over (partition by siret,date_ca order by decode(ca,null,to_date(null),datenq)
    nulls first rows between
    unbounded preceding and unbounded following)
    canm1,
    /**


    last_value(eff)
    over (partition by siret,date_ca order by
    decode(eff,null,to_date(null),datenq) nulls first rows between
    unbounded preceding and unbounded following) eff, last_value(eff)
    over (partition by siret,date_ca order by
    decode(eff,null,to_date(null),datenq) nulls first rows between
    unbounded preceding and unbounded following) effnm1 from (select
    cplmt.siret, cplmt.date_ca ,cplmt.datenq, base.CA ,base.CA_POND
    ,base.DATEREP ,base.EFF ,base.EFF_POND ,base.PERIM ,base.TA
    ,base.UNITE from CONJV200.IV_CAUNQ_E base, ((select
    IV_CAUNQ_E.siret, IV_CAUNQ_E.date_ca, IV_CAUNQ_E.datenq from
    CONJV200.IV_CAUNQ_E IV_CAUNQ_E, CONJV200.routunq unq where
    IV_CAUNQ_E.siret=unq.siret and unq.codenq='INVT' and
    unq.datenq=to_date('07/2009','mm/yyyy') and unq.ugst>='01' and
    unq.ugst<='01' and (IV_CAUNQ_E.datenq<=to_date('07/2009','mm/yyyy')
    and date_ca<=to_date('012008','mmyyyy'))) union (select
    IV_CAUNQ_E.siret, to_date('012008','mmyyyy') date_ca,
    to_date('07/2009','mm/yyyy') datenq from CONJV200.IV_CAUNQ_E
    IV_CAUNQ_E, CONJV200.routunq unq where IV_CAUNQ_E.siret=unq.siret
    and unq.codenq='INVT' and unq.datenq=to_date('07/2009','mm/yyyy')
    and unq.ugst>='01' and unq.ugst<='01' and not exists (select
    bis.siret from CONJV200.IV_CAUNQ_E bis where
    (IV_CAUNQ_E.datenq=to_date('07/2009','mm/yyyy') and
    date_ca=to_date('012008','mmyyyy')) and
    IV_CAUNQ_E.siret=bis.siret))) cplmt where base.siret(+)=cplmt.siret
    and base.date_ca(+)=cplmt.date_ca and base.datenq(+)=cplmt.datenq)
    CAEFQ) where (datenq=to_date('07/2009','mm/yyyy') and
    date_ca=to_date('012008','mmyyyy'))
    Merci d'avance!!!
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Fonctions analytiques] - Clause Where / Having
    Par jacquesh dans le forum Oracle
    Réponses: 5
    Dernier message: 06/10/2006, 13h29
  2. [Fonctions analytiques] : inhibe les indexs ?
    Par PpPool dans le forum Oracle
    Réponses: 18
    Dernier message: 20/04/2006, 18h22
  3. Réponses: 3
    Dernier message: 24/11/2005, 12h19
  4. Réponses: 7
    Dernier message: 21/11/2005, 14h21
  5. Réponses: 4
    Dernier message: 18/08/2005, 16h11

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