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 et SQL. Discussion :

[débutant] Tri dans requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut [débutant] Tri dans requete
    Bonjour

    je vous explique mon probleme:
    je fais une base de données de gestion des commandes
    je voudrais dans une requete faire la somme totale commandée mois par mois
    Mon but étant de créer un diagramme batton afin de pourvoir avec un graphique voir pour chaque mois de l'annee la somme dépenser pour un fournisseur donné

  2. #2
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Si j'ai bien compris la question, voici le shémas à suivre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Nom_Client, Mois, Sum([Montant])
    FROM TableSource
    GROUP BY Nom_Client, Mois
    ORDER BY Nom_Client, Mois Asc;
    Cela signifie que l on effectue la somme des MONTANT pour chaque client et par mois.

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    et dans ma requete
    peux tu me guidé pour remplir le tableau de la requete?

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    Par rapport à la fonction "mois"
    comment la faire
    moi dans ma table j'ai "date" ce qui correspond à la date de la commande
    comment regrouper la date par mois?

  5. #5
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    j'obtient ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT [Commande].[Nom Fournisseur], [Commande].[Date], Sum([Détail Commande]![Quantité]*[Produits]![Prix Unitaire]*(1-[Produits]![Remise Article])*(1-[Commande]![Remise Commande])) AS Expr1
    FROM Produits INNER JOIN (Fournisseurs INNER JOIN (Commande INNER JOIN [Détail Commande] ON [Commande].[N°commande]=[Détail Commande].[N°Commande]) ON [Fournisseurs].[Nom du Fournisseur]=[Commande].[Nom Fournisseur]) ON [Produits].[Référence Produit]=[Détail Commande].[Référence du Produit]
    GROUP BY [Commande].[Nom Fournisseur], (([Commande].[Date])="mois")
    HAVING (((Commande.Date)="mois"))
    ORDER BY [Commande].[Nom Fournisseur], (([Commande].[Date])="mois") Asc
    pour indication
    Expr1=Total des commandes

    Et cela ne fonctionne pas ou est mon erreur?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Pour faire un regroupement par mois, il faut extraire celui-ci de chaque date
    en utilisant la fonction **MONTH()**

    Tu obtiens donc une extraction de type pour un historique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ..., Month([Date])
    FROM Table
    GROUP BY ..., Month([Date]);
    Si tu veux extraire que les données du mois 12, tu n'as pas besoin d afficher celui-ci par tu peux tout de même le faire.
    Ainsi tu obtiens un requete répondant au schémas suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT ..., Month([Date])
    FROM Table
    GROUP BY ..., Month([Date])
    HAVING Month([Date]) = 12;
    Si tu n'affiche pas le numero du mois, tu n'as pas besoin d effectuer le regroupement dessus.

    Si tu préfères afficher le mois en lettre, utilise les fonctionnalité de la fonction **FORMAT$**
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT ..., FORMAT$([Date],'mmm')
    FROM Table
    GROUP BY ..., FORMAT$([Date],'mmm')
    HAVING Month([Date]) = 12;

  7. #7
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    Merci cela fonctionne
    Mais je voudrais que ca me calcul pour les 12 mois comment dois je faire?

  8. #8
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    j'ai rajouté en critere
    Entre 1 et 12 cela à l'air de fonctionner
    Merci pour votre aides

  9. #9
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Si tu veux pour tous les mois, il suffit de supprimer la condition **HAVING**
    qui exclut les autres mois

  10. #10
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    Just une petite information

    Est ce qu'avec ce principe quand je serais en 01/2008 la somme s'ajoutera pas a cel de 01/2007 ??

    Est ce que cela differenciera les années?

  11. #11
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 144
    Points : 48
    Points
    48
    Par défaut
    Comment prendre en compte l'année dans ce tri?

Discussions similaires

  1. tri dans une requete
    Par bibi_forever dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2007, 11h22
  2. [Débutant] Tri dans requête / Etat
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 13/07/2006, 16h55
  3. tri dans ordre requete
    Par bleep dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2006, 11h57
  4. [débutant]! dossiers dans l'onglet requetes ?
    Par banker dans le forum Access
    Réponses: 11
    Dernier message: 23/02/2006, 17h55
  5. requete et tri dans etats
    Par flo456 dans le forum IHM
    Réponses: 3
    Dernier message: 22/12/2005, 11h02

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