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

MS SQL Server Discussion :

comment faire des totaux mensuels


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut comment faire des totaux mensuels
    bonjour

    j'ai une table avec des lignes de ventes, est ce possible de recuprer mensuellement le total des ventes par article
    exemple de fichier généré
    code ; designation ; totalvente juin ; totalvente juillet ; etc

    si quelqu'un peux m'aider
    merci d'avance

  2. #2
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Un peu de recherche sur la clause GROUP BY et ça devrait aller.
    Il y a plein de tutos sur ce site, et tout ce qu'il faut pour le faire se trouve fans la FAQ.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut re
    je suis novice en la matière pouvez vous m'en dire un peux plus merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Si tu es novice tu devrais suivre les conseilles que l'on te donne, c'est à dire regarder dans la FAQ les choses concernant le "group by" ...
    Le Porc est un loup pour le Porc.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    je doit être vraiment bête je ne trouve rien sur le group by dans le FAQ ?

  6. #6
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Bon OK... Est-ce qu'on peut au moins avoir une structure de table et un jeu d'essai ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    un grand merci de votre reponse
    en fait j'ai une vue qui s'appelle V_LST_PIECEVENTELIGNES
    je peux vous envoyer un jeux d'essai
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    VOICI ma requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT PROCODE ,
                 PRODESIGNATION as 'Designation',
                 sum(PLVQTE) as 'QTE VTE'
    from V_LST_PIECEVENTELIGNES
    where pitcode ='F'
    and  AFMCODE = 'BLACKSTAR'
    GROUP BY PROCODE, PRODESIGNATION
    j'aimerais savoir comment récupéré un total par mois sur les 12 derniers mois
    et ne pas avoir un total général

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Ajoutez le mois dans le groupage.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Utilisez les balises CODE, c'est plus lisible.

    Essayez ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT PROCODE ,
    PRODESIGNATION as 'Designation',
    month(MonChampDate) as Mois,
    sum(PLVQTE) as 'QTE VTE'
    from V_LST_PIECEVENTELIGNES
    where pitcode ='F'
    and AFMCODE = 'BLACKSTAR'
    GROUP BY PROCODE, PRODESIGNATION, month(MonChampDate)
    Il faudra probablement également y intégrer l'année... Year(MonChampDate) dans le select et le group by.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Grand merci pour votre reponse
    pouvez vous me dire si je peux borner la reponse en ne prenant que les 12 derniers mois ?
    encore merci d'avance

  12. #12
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Ben il suffit d'ajouter le filtre dans la clause where...

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    J'ai essaye cela

    and year( PCVDATEEFFET) > (year(CURDATE) - 1)
    et j'ai un message d'erreur

  14. #14
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    C'est CURDATE() (avec parenthèse) ou CURRENT_DATE
    Fonctions de dates et d'heures

    [edit]Désolé je croyais être sur le forum MySql, cependant je pense que CURRENT_DATE fonctionne sur MSSqlServer
    [edit2]En fait c'est plutôt CURRENT_TIMESTAMP

  15. #15
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and year( PCVDATEEFFET) > year(getdate()) - 1
    si nous ne voulez vraiment que les 12 derniers mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and pcvdateeffet > dateadd(m,-12,getdate())

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    encore un grand merci pour vos réponses

    existe il une methode pour que le resultat sorte en ligne
    c a d

    code article, designation, qte1,qte2, qte3, etc...

  17. #17
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Par concaténation, oui.
    La question a déjà été posée maintes fois sur ce site... un peu de recherche ;^)

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    i'ai beau chercher ?
    pouvez vous m'aiguiller ?
    merci d'avance

  19. #19
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Ici

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    DECLARE @ qte VARCHAR (8000)
    SELECT ARTCODE ,
    PLVDESIGNATION as 'Designation',
    month( PCVDATEEFFET) AS Mois,
    year( PCVDATEEFFET) AS Année,
    sum(PLVQTE) as 'QTE VTE'
    @ qte = COALESCE (@ qte + ',' , '' ) + ISNULL (qte, 'N/A')
    from V_LST_PIECEVENTELIGNES
    where pitcode ='F'
    and AFMCODE = 'BLACKSTAR'
    AND pcvdateeffet > dateadd(m,-12,getdate())
    GROUP BY ARTCODE, PLVDESIGNATION, month( PCVDATEEFFET), year( PCVDATEEFFET)

    merci pour vos lumieres je suis un peu nul

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2003] comment faire des totaux
    Par mangouste dans le forum IHM
    Réponses: 1
    Dernier message: 19/07/2011, 14h45
  2. [E-03] Après un tri comment faire des sous totaux
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/10/2008, 09h17
  3. [MySQL] Comment faire des sous-totaux ?
    Par renaud26 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/02/2006, 15h56
  4. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  5. Réponses: 8
    Dernier message: 18/09/2002, 03h20

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