Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/10/2011, 10h35   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
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
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 10h44   #2
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
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.
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 10h59   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
Par défaut re

je suis novice en la matière pouvez vous m'en dire un peux plus merci
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 11h12   #4
Membre émérite
 
Homme Tony
Développeur .NET
Inscription : novembre 2010
Messages : 570
Détails du profil
Informations personnelles :
Nom : Homme Tony
Localisation : France

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 570
Points : 821
Points : 821
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" ...
asmduty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 11h33   #5
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
je doit être vraiment bête je ne trouve rien sur le group by dans le FAQ ?
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 11h38   #6
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Bon OK... Est-ce qu'on peut au moins avoir une structure de table et un jeu d'essai ?
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 12h16   #7
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
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
Type de fichier : txt lignes de ventes.txt (8,0 Ko, 5 affichages)
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 12h25   #8
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
VOICI ma requete
Code :
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
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 12h26   #9
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
Ajoutez le mois dans le groupage.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 12h33   #10
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Utilisez les balises CODE, c'est plus lisible.

Essayez ceci :

Code :
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.
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 14h52   #11
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
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
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 14h53   #12
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Ben il suffit d'ajouter le filtre dans la clause where...
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 15h20   #13
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
J'ai essaye cela

and year( PCVDATEEFFET) > (year(CURDATE) - 1)
et j'ai un message d'erreur
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 15h26   #14
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
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
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 15h42   #15
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Code :
AND year( PCVDATEEFFET) > year(getdate()) - 1
si nous ne voulez vraiment que les 12 derniers mois :

Code :
AND pcvdateeffet > dateadd(m,-12,getdate())
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 16h08   #16
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
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...
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 16h15   #17
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Par concaténation, oui.
La question a déjà été posée maintes fois sur ce site... un peu de recherche ;^)
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 17h17   #18
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
i'ai beau chercher ?
pouvez vous m'aiguiller ?
merci d'avance
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 21h21   #19
SLE
Membre chevronné
 
Avatar de SLE
 
Homme Serge LESPAGNARD
Consultant informatique
Inscription : janvier 2004
Messages : 588
Détails du profil
Informations personnelles :
Nom : Homme Serge LESPAGNARD
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : janvier 2004
Messages : 588
Points : 732
Points : 732
Ici
SLE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 07h50   #20
Invité de passage
 
Inscription : octobre 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 15
Points : 1
Points : 1
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
gogo85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h55.


 
 
 
 
Partenaires

Hébergement Web