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

VB 6 et antérieur Discussion :

2 Sum avec memes nombres mais differents Group By


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut 2 Sum avec memes nombres mais differents Group By
    Bonjour à tous,
    comme ce que je veux faire n'est pas évident à expliquer je vais directement faire un exemple, voici mon tableau:

    "AA","AB ","C"
    "1","2",12
    "1","3",33
    "1","4",47
    "1","2",41
    "2","3",77
    "2","1",9
    "3","4",16
    "3","1",33
    "3","2",73
    "4","3",34
    "4","2",65

    J'aimerais que UNE SEULE requete (en effet j'ai réussi avec 3 requetes) me renvoie ceci :
    1 133 42
    2 86 191
    3 122 144
    4 99 63


    La première colonne de ma query sont les chiffres de la premiere colonne de la table ou de la deuxieme, les deux colonnes suivantes de ma query sont les sommes en fonction d'abord de la premiere colonne de ma table et ensuite de la deuxieme pour chaque chiffre (1,2,3 et 4).

    J'ai essayé de me faire comprendre mais ce n'est pas évident, si vous voullez des éclairssisements n'hésitez pas!

    Il faudrait donc que la premiere sum de la requete soit un group by de la premiere colonne de la table et que la deuxieme sum de la requete soit un group by de la seconde colonne de la table.


    D'avance merci.

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Essaye d'être plus pertinent dans l'exposé de ton problème. Il n'est pas évident dès le debut que l'on parle de base de données. un tableau en vb est totalement différent d'une table. Je ne suis pas arrivé a reproduire ton résultat avec les valeurs exemple de ta table, la table est incomplète ?

    Sinon, pour faire une requete qui additionne un champs on utilise quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sql = "Select AA, Sum(AB),Sum(C) From MaTable Group By AA"

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Delbeke Voir le message
    Essaye d'être plus pertinent dans l'exposé de ton problème. Il n'est pas évident dès le debut que l'on parle de base de données. un tableau en vb est totalement différent d'une table. Je ne suis pas arrivé a reproduire ton résultat avec les valeurs exemple de ta table, la table est incomplète ?

    Sinon, pour faire une requete qui additionne un champs on utilise quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sql = "Select AA, Sum(AB),Sum(C) From MaTable Group By AA"
    Merci pour ta réponse delbeke, en fait ma requete devrait ressembler à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sql = "Select AA, Sum(C),Sum(C) From MaTable Group By AA, AB"
    Je veux donc que le premier Sum(C) soit groupé par rapport à AA et que le second Sum(C) soit groupé par rapport à AB. Mais ce code ne me renvoye pas ce que je désire...

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Bon, là je comprends mieux.
    J' ai fait quelques tests , mais je ne suis pas arrivé à faire mieux que toi.
    Peut être que quelqu'un connait mieux les subtilités du SQL ?

    Dans ma solution, j'ai créé deux requetes enregistrées

    Note : la table s'appellerait Test dans les exemples suivant

    requete ATEST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT AA, Sum(C) AS AAR
    FROM Test
    GROUP BY AA;
    requete BTEST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT AB AS AA, Sum(C) AS ABR
    FROM Test
    GROUP BY AB;
    Ce qui donne ensuite une seule requete au niveau du programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sql = "Select AA,AAR,ABR from ATEST Inner Join BTEST on ATEST.AA = BTEST.AA"
    Désolé de ne pouvoir faire mieux

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    En fait, je dois par la suite intégrer cette requete SQL dans un formulaire afin de l'appliquer à d'autres table (tableau?) que j'importerais de fichier *.txt.
    J'ai réussi a importer la table avec un petit bouton "Parcourir" et un bouton "créer la table", mais je voudrais que quand je pousse sur "créer la table", la table se transforme, comme indiqué ci dessus, grace à une requete sql insérer dans le code visual basic de mon form.

    J'avais déjà réussi à faire comme toi, mais pour insérer le code SQL dans mon code visual basic par l'intermédiaire d'un recordset il faudrait qu'il ne fasse qu'un, comme j'ai indiqué dans le premier post.

    Je te remercie quand même pour le temps que tu m'as consacré!
    Bonne journée.

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 95
    Points : 87
    Points
    87
    Par défaut
    Salut,

    je pense que ça devrai fonctionner comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT t.AA, Sum(t.C) AS AAR, (SELECT Sum(t2.C) AS ABR
    			FROM Test t2
    			Where t.AA = t2.AB
    			GROUP BY AB) as AAB
    FROM Test t
    GROUP BY AA
    Avec la table Test contenant tes données...

    Coin

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Chapeau bas, Coin
    J'ai essayé, çà marche nickel et j'ai encore appris quelque chose aujourd'hui.
    Merci à toi

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 95
    Points : 87
    Points
    87
    Par défaut
    De rien,

    Je rend juste la monnaie de ma pièce quand j'ai fait mes débuts cahotiques dans VB, access, ... et que le forum m'aidait pour tout mes petits problèmes......


    C'est le but du jeu

    @+.

    Coin

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Delbeke Voir le message
    Chapeau bas, Coin
    J'ai essayé, çà marche nickel et j'ai encore appris quelque chose aujourd'hui.
    Merci à toi
    +1, Chapeau bas.

    Un tout grand merci Coin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rapport avec 2 pages mais pour le meme enregistrement
    Par daviddardenne dans le forum iReport
    Réponses: 16
    Dernier message: 24/07/2020, 11h54
  2. [XSD] Eléments avec même nom et attributs différents
    Par stanware dans le forum Valider
    Réponses: 3
    Dernier message: 24/06/2008, 17h44
  3. Réponses: 2
    Dernier message: 31/01/2007, 23h52
  4. [W3C] [debutant] meme presentation mais sous des naviga differents
    Par christophebmx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/12/2004, 13h55
  5. sum avec des nombres avec virgule
    Par Bruno2000 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/09/2004, 15h01

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