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

Langage SQL Discussion :

Evolution d'une population


Sujet :

Langage SQL

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    merci,
    mais j'ai essayé ta requete en reprennant exactement tes tables avec les données et j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Id_Groupe  	 Debut  	 Fin  	 Nombre
    1 	2006-09-20 00:00:00 	2006/09/30 	275000
    j'avais essayé avec mes tables, mais je n'obtenais pas un visuel montrant une evolution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1  	2006-07-10 00:00:00  	2006/09/30  	860000
    4 	2006-07-19 00:00:00 	2006/09/30 	81000

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    avec ta requête précédante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    select c.Id_Groupe, Debut, Fin , sum(nbhab) as Nombre
    from (select g1.Id_Groupe, a.date_validite as Debut, min(b.date_validite) as Fin
          from dvp_COMMUNE a inner join dvp_GROUPE_COMMUNE g1
                                 on g1.Id_commune = a.Id_Commune
                         inner join dvp_GROUPE_COMMUNE g2
                                 on g1.Id_groupe = g2.Id_Groupe
                         left  join dvp_COMMUNE b
                                 on a.date_validite < b.date_validite
                                and g2.Id_Commune = b.Id_commune
          group by g1.Id_Groupe, a.date_validite) c left join dvp_GROUPE_COMMUNE g
                                                           on c.Id_groupe = g.Id_Groupe
                                                    left join dvp_COMMUNE d
                                                           on d.Id_commune = g.Id_commune
                                                          and d.date_validite < coalesce(Fin, to_date('01/01/2999', 'DD/MM/YYYY'))
    where not exists (select null
                      from dvp_COMMUNE e
                      where d.id_commune = e.id_commune
                        and d.date_validite < e.date_validite
                        and e.date_validite < coalesce(Fin, to_date('01/01/2999', 'DD/MM/YYYY')))
    group by c.Id_Groupe, Debut, Fin ;
    on affichait une evolution, mais manquait la periode.

  3. #23
    Membre éprouvé
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Par défaut
    @Médiat :

    Ok. Je ne ''groupais'' que le ''groupe''. Et en plus, c'est évident (maintenant que tu l'as dit ). Merci de l'explication.
    Mais à propos, puisque le but est de ramener le MAX(date) de chaque id, pourquoi ne pas faire 1 GROUP BY groupe, id, periode justement ? J'ai raté autre chose ?

    A +

  4. #24
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Citation Envoyé par TheLeadingEdge
    Mais à propos, puisque le but est de ramener le MAX(date) de chaque id, pourquoi ne pas faire 1 GROUP BY groupe, id, periode justement ? J'ai raté autre chose ?
    J'ai pas bien compris ce que tu voulais dire

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. tracer des courbes d'evolution dans une application web
    Par riadhhwajdii dans le forum JSF
    Réponses: 1
    Dernier message: 09/07/2009, 10h45
  2. tracer des courbes d'evolution dans une application web
    Par riadhhwajdii dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 07/07/2009, 15h34
  3. [.NET C# VS05] Evolution d'une progress bar
    Par NeraOne dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/06/2007, 17h23
  4. [Outils Tests] Créer une population Test
    Par Titouf dans le forum Oracle
    Réponses: 1
    Dernier message: 01/02/2007, 22h01
  5. [Oracle 8i] Créer une population test
    Par Titouf dans le forum Oracle
    Réponses: 3
    Dernier message: 14/12/2006, 22h37

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