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

PostgreSQL Discussion :

Somme d'une date extraite de la table et d'une période dans la même table


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Somme d'une date extraite de la table et d'une période dans la même table
    Bonjour,

    Postgresql donne la possibilité de sommer une date et une valeur donnée (month, day, year ...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select champ1 
    From maTable
    Where champ1 + interval 'n month'
    Le souci c'est que je le nombre de mois n est figé, moi je voudrais que le n soit tiré d'une autre colonne appartenent à maTable aussi.
    Un truc du style:
    ....Where champ1 + (select nbrMois from maTable) month !!!

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    un tit oubli:

    SELECT champ1
    FROM maTable
    WHERE champ1 + interval 'n month' condition

  3. #3
    Membre habitué Avatar de budtucker
    Profil pro
    Développeur multimédia
    Inscrit en
    Avril 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Avril 2007
    Messages : 176
    Points : 197
    Points
    197
    Par défaut
    Si possible, tu peux tout faire dans une fonction.

    1 - Tu initialises une variable
    2 - Tu lui attributs la valeur de ta requête "select nbrMois from maTable"
    3 - Tu lances ta seconde requête en utilisant la valeur de ta variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    declare 
        nbmois integer;
        resultat record;
     
    begin
        select nbrMois into nbmois from maTable;
     
           FOR resultat IN SELECT champ1 FROM maTable WHERE champ1 + interval nbmois||' month' LOOP
            RETURN NEXT resultat;
           END LOOP;
     
      return;
    end;
    Je n'ai pas testé, mais pi t'ete que ça fonctionne !!!!

    A+
    Sud04

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/08/2008, 18h12
  2. [Dates] Ajouter 12 6 3 1 mois à une date donnée
    Par jiojioforever dans le forum Langage
    Réponses: 8
    Dernier message: 30/05/2007, 15h07
  3. [Dates] Convertir jour de l'année en une date
    Par Ouark dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2007, 13h31
  4. Réponses: 4
    Dernier message: 09/04/2006, 18h01
  5. Réponses: 3
    Dernier message: 18/10/2005, 16h34

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