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

Requêtes PostgreSQL Discussion :

Soustraire données du mois précédent


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut Soustraire données du mois précédent
    Bonjour,

    Ma question est un peu liée au poste suivant : Poste

    Pour autant j'ai préféré ouvrir un autre sujet car la demande est différente.

    Imaginons un jeu de données comme celui-ci :

    Nom : data.JPG
Affichages : 333
Taille : 27,5 Ko

    Le chiffre présent dans la colonne mois doit être soustrait au mois précédent c’est-à-dire qu’en février je dois avoir les données de février – les données de janvier

    Exemple résultat attendu :

    Nom : moissoustrait.JPG
Affichages : 336
Taille : 29,4 Ko

    Si vous avez une idée de comment procédé je vous en serai reconnaissant !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Quelle est la structure de la table ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Bonjour et merci de votre intérêt.

    Comme la première capture d'écran.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    C'est bien ce que je craignais.
    Quelle horreur !

    Il ne faut pas confondre une base de données avec un tableau Excel.

    Après la requête est très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT  produit
        ,   "201802"
        ,   "201805" - "201802" AS  "201805"
        ,   "201807" - "201805" AS  "201807"
    FROM    matable
    Requête à réécrire pour chaque table en fonction des mois dans chaque colonne...

    Pourquoi ne pas plutôt utiliser une table avec un structure normalisée (produit, mois, valeur) ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Je valide le fait que cela soit une horreur mais quand on n'a pas le droit de changer la structure il faut se débrouiller.

    En tout cas, merci pour ton aide !

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Citation Envoyé par heretik25 Voir le message
    mais quand on n'a pas le droit de changer la structure il faut se débrouiller.
    Telle que la table actuelle est faite, il faut bien changer sa structure tous les mois, histoire de rajouter une nouvelle colonne, non ?
    Vous pourriez refaire la structure de la table et construire une vue qui porterait le même nom que l'ancienne table. Au moins, la structuration serait meilleure, et pour les éventuels applicatifs connectés, ça serait transparent...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Réinjecter dans une BDD les données du mois précédent
    Par malhek69 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/03/2016, 23h17
  2. Données du mois précédent
    Par lucazzo dans le forum Développement
    Réponses: 3
    Dernier message: 10/09/2010, 18h16
  3. Extraire des données du mois précédent
    Par kiro4 dans le forum SQL
    Réponses: 12
    Dernier message: 09/04/2009, 08h56
  4. Réponses: 1
    Dernier message: 12/02/2009, 16h51
  5. Réponses: 3
    Dernier message: 24/11/2008, 14h31

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