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

PHP & Base de données Discussion :

Resultats mensuel par année


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 30
    Points
    30
    Par défaut Resultats mensuel par année
    Bonjour

    Tout d'abord bonne année 2019 à tous et à toutes !!!

    Voilà j'ai un table de produit qui viennent de plusieurs pays avec une date de réception de ces produits

    Donc dans ma table produit j'ai donc mes 3 champs : produitId, produitPaysId et produitDateReception(format date YYYY-MM-JJ)

    J'ai ma table pays avec des champs paysId, paysNom

    Et j'ai une table annee avec des champs anneeId et anneeLibelle

    Bon j'arrive à faire mes requêtes pour avoir mes produits reçu pour l'année (tableau avec nom du produit ainsi que nombre reçu par produit) mais ce que je voudrais faire c'est faire une tableau pour l'année choisie avec des colonnes par mois de produits reçus et là je cale !!

    Avez-vous des pistes ??

    Cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Citation Envoyé par leblaireau12 Voir le message
    Bon j'arrive à faire mes requêtes pour avoir mes produits reçu pour l'année (tableau avec nom du produit ainsi que nombre reçu par produit) mais ce que je voudrais faire c'est faire une tableau pour l'année choisie avec des colonnes par mois de produits reçus et là je cale !!
    Une requête de ce genre: https://andry.developpez.com/tutorie...page_1#LII-B-1

    A+.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 200
    Points : 157
    Points
    157
    Par défaut
    Salut,
    j'aurai tendance à faire une requête de ce type (à confirmer par plus expert):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT MONTH(produitDateReception) as mois, produitDateReception, produitId, produitPaysId FROM taTable WHERE MONTH(produitDateReception)=2019 ORDER BY MONTH(produitDateReception) ASC";

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MONTH(produitDateReception)=2019
    à remplacer par
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    year(produitDateReception)=2019
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY MONTH(produitDateReception) ASC
    par
    A+.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 30
    Points
    30
    Par défaut Resultats mensuel par année
    Bonjour

    Merci pour vos réponses !!

    Je vais tester tout ça

    Cordialement

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Pour avoir une structure tabulaire avec SQL c'est un peu compliqué.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    select
    AM_LP.annee AS "Année",
    AM_LP.article AS "Article",
    sum(case when JAN.quantite is null then 0 else JAN.quantite end) as "Janvier",
    sum(case when FEV.quantite is null then 0 else FEV.quantite end) as "Février",
    sum(case when MAR.quantite is null then 0 else MAR.quantite end) as "Mars",
    sum(case when AVR.quantite is null then 0 else AVR.quantite end) as "Avril",
    sum(case when MAI.quantite is null then 0 else MAI.quantite end) as "Mai",
    sum(case when JUN.quantite is null then 0 else JUN.quantite end) as "Juin",
    sum(case when JUI.quantite is null then 0 else JUI.quantite end) as "Juillet",
    sum(case when AOU.quantite is null then 0 else AOU.quantite end) as "Aout",
    sum(case when SEP.quantite is null then 0 else SEP.quantite end) as "Septembre",
    sum(case when OKT.quantite is null then 0 else OKT.quantite end) as "Octobre",
    sum(case when NOV.quantite is null then 0 else NOV.quantite end) as "Novembre",
    sum(case when DEZ.quantite is null then 0 else DEZ.quantite end) as "Décembre"
    from 
    (
     select 
     annee, article 
     from xannee
     inner join xarticle XA on 1=1
     where annee = 2018
    ) AM_LP
    left join (select * from xproduit where month(daterec) = 1)  JAN on year(JAN.daterec) = AM_LP.annee and JAN.article = AM_LP.article 
    left join (select * from xproduit where month(daterec) = 2)  FEV on year(FEV.daterec) = AM_LP.annee and FEV.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 3)  MAR on year(MAR.daterec) = AM_LP.annee and MAR.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 4)  AVR on year(AVR.daterec) = AM_LP.annee and AVR.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 5)  MAI on year(MAI.daterec) = AM_LP.annee and MAI.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 6)  JUN on year(JUN.daterec) = AM_LP.annee and JUN.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 7)  JUI on year(JUI.daterec) = AM_LP.annee and JUI.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 8)  AOU on year(AOU.daterec) = AM_LP.annee and AOU.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 9)  SEP on year(SEP.daterec) = AM_LP.annee and SEP.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 10) OKT on year(OKT.daterec) = AM_LP.annee and OKT.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 11) NOV on year(NOV.daterec) = AM_LP.annee and NOV.article = AM_LP.article
    left join (select * from xproduit where month(daterec) = 12) DEZ on year(DEZ.daterec) = AM_LP.annee and DEZ.article = AM_LP.article
    group by AM_LP.annee, AM_LP.article
    Donne
    Nom : Capture20190112_001.JPG
Affichages : 124
Taille : 43,0 Ko


    Ma table article
    Nom : Capture20190112_002.JPG
Affichages : 115
Taille : 10,9 Ko

    Ma table année
    Nom : Capture20190112_003.JPG
Affichages : 91
Taille : 10,0 Ko

    Ma table produit (il y a plus de données que sur l'image et aucune sur le mois de novembre)
    Nom : Capture20190112_004.JPG
Affichages : 112
Taille : 39,2 Ko
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

Discussions similaires

  1. Comment remplacer un resultat numérique par son libellé ?
    Par bds2006 dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2006, 11h03
  2. [10g] Archivage de données par années
    Par Cereal123 dans le forum Oracle
    Réponses: 7
    Dernier message: 24/04/2006, 09h35
  3. Réponses: 1
    Dernier message: 16/01/2006, 16h51
  4. [sql 9i] group by par années ;)
    Par booth dans le forum Oracle
    Réponses: 7
    Dernier message: 04/10/2005, 10h42
  5. [LG]résultat renvoyé par une fonction
    Par le 27 dans le forum Langage
    Réponses: 3
    Dernier message: 10/12/2003, 10h31

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