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 :

Requete ne renvoyant pas le résultat souhaité


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 183
    Points
    183
    Par défaut Requete ne renvoyant pas le résultat souhaité
    Bonjour à tous, Je fais appel à vous car je n'arrive pas à me sortir d'un problème sous Access.

    Mon problème est le suivant : je dois analyser le CA de l'entreprise sous plusieurs axes en distinguant la CA de la semaine en cours et le cumul.

    Par exemple
    - semaine 1, CA = 100€
    - semaine 2, CA = 50€

    Le résultat souhaité est le suivant

    Semaine 1 :
    N°------------------CA----------------------------CA
    semaine--------semaine en cours-----------------total
    1 ----------------100 ---------------------------- 100

    Semaine 2 :
    N° ----------------CA-------------------------CA
    semaine ------semaine en cours --------------total
    1--------------- 0 ----------------------------100
    2 ---------------50 ----------------------------50


    Pour arriver à ce résultat, j'ai fait un première requête de création de table où je stocke le CA de la semaine en cours (champs = code site , code prestation , numéro semaine , CA semaine). A chaque semaine j’écrase donc le mouvement de la semaine précédente. Voila ce qu'on trouve dans la table.

    Semaine 2 :
    N° ---------------CA
    semaine--------semaine en cours
    2 ------------------50


    Ensuite, une deuxième reqûete d'ajout dans une table CUMUL me permet de stocker les CA de toutes les semaines. Je reprend exactement les mêmes champs que la requete 1 sauf que je renomme le CA semaine : en CA cumulé (CA cumul : [CA semaine]). Jusque là tout semble aller, la table 2 stocke donc le champ CA Cumul pour chaque semaine, voila ce qu'on trouve dans la table.

    Semaine 2 :
    N°----------------CA
    semaine----------CA cumul
    1----------------100
    2-----------------50


    La dernière étape (celle qui coince) consiste à rappatrier les champs des 2 tables afin d'avoir le mouvement et le cumul dans la même requête.
    J’ai donc ramené tous les champs communs aux 2 tables (code site ; code prestation ; numéro semaine) à partir de la table 2 ; je ramène le CA semaine à partir de la table 1 et le CA cumul à partir de la table 2
    Au niveau des liaisons, j’ai lié le code site et le code prestation des 2 tables et j’ai mis une somme sur les champs de CA.

    Le résultat obtenu est le suivant :

    Semaine 2 :
    N° ----------------CA------------------------CA
    semaine---------semaine en cours------------ total
    1 -------------------100 ---------------- 100
    2 -------------------50--------------------------- 50

    Je ne comprend donc pas pour quoi, mais ma requête me renvoie un CA en cours pour les semaines antérieures alors que je vais chercher mes infos dans la table 1 qui ne stocke que le en-cours (vu qu’elle efface à chaque fois les infos précédentes).

    Si quelqu’un pourrait me donner un coup de main, je lui en serais vraiment extrêmement reconnaissant !!!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Essai avec une requête UNION avec tes deux premières requête.

    Mais je l'aurais fais avec un état qui aurait des regroupements.
    Amicalement

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 183
    Points
    183
    Par défaut
    Le problème avec une requête Union est que mes champs "CA semaine" et "CA Cumul" n'existent respectivement que dans mes tables 1 et 2 (et que je dois conserver cette distinction). J'ai essayé en les créant dans les 2 tables et en les mettant à zéro mais le résultat final est le même.
    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 183
    Points
    183
    Par défaut
    Bon, j'ai réussi à trouver une solution à ce problème, il semblerait que le problème provenait des jointures, j'ai donc ajouter une clé dans les tables 1 et 2 qui étaient la concaténation du code site + code prestation + numéro semaine.

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

Discussions similaires

  1. Requete qui ne renvoie pas de résultat
    Par bruno782 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/08/2019, 13h39
  2. [HQL] Requête paramétrée ne renvoyant pas de résultats
    Par sanguisorbe dans le forum Hibernate
    Réponses: 17
    Dernier message: 20/05/2015, 12h02
  3. [MySQL] pas de résultat sur requete INNER JOIN 3 tables
    Par monlou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2010, 09h49
  4. le résultat souhaité n'est pas obtenu
    Par ballantine's dans le forum Langage SQL
    Réponses: 56
    Dernier message: 18/03/2010, 10h02
  5. Erreur quand la requete ne trouve pas le résultat
    Par GeantBioHazard dans le forum Persistance des données
    Réponses: 1
    Dernier message: 19/02/2008, 14h17

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