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 :

Comment faire le calcul de plusieurs lignes via une requête [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Points : 35
    Points
    35
    Par défaut Comment faire le calcul de plusieurs lignes via une requête
    Bonjour,

    J'ai effectué une requête pour qu'elle me calcule (via Min, max ,moy) des différents prix sur une période de 1 à 2 mois minimum( le max étant de 12 moi) mais cela ne fonctionne pas.
    En effet, j'ai un message d'information me disant que ma requête est complexe ou alors que rien ne s'affiche.
    (j'ai utilisé les regroupements pour établir mon calcul mais ça ne fonctionne pas)

    Chaque ligne de la table principale est composée d'une colonne date de début et date de fin de la période concernée avec le prix
    par exemple:

    pays concerné Date de debut Date de fin prix

    ligne 1 France 01/01/2014 31/01/2014 10€
    ligne 2 Espagne 01/02/2014 28/02/2014 15€
    ligne 3 France 01/03/2014 31/03/2014 18€
    ligne 4 France 01/04/2014 30/04/2014 2€


    ce que je voudrai que ça me fasse correctement, c'est qu'en fonction du pays concerné (par exemple la france ), que la requête me dise qu'elle est le prix min max et la moyenne si je choisis une période de début du 01/01/2014 eu 30/04/2014;


    Après plusieurs tentatives rien n'y fait et mon responsable souhaite cette requête.
    je me demande si c'est possible de le faire et si oui comment. (pourtant mes autres requêtes fonctionnent assez bien).
    de plus j'ai regardé pleins de tutoriels vidéos, sans compter les cours sur internet des différentes facs , écoles d'ingénieurs, rien n'y fait. je ne trouve rien à ce qui correspond à mon besoin.

    Pourriez vous m'aider svp?
    Merci pour votre aide

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 223
    Points : 85 182
    Points
    85 182
    Billets dans le blog
    15
    Par défaut


    Quelque chose comme ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Table1.Pays, Min(Table1.Prix) AS Minimum, Max(Table1.Prix) AS Maximum, Avg(Table1.Prix) AS Moyenne
    FROM Table1
    WHERE (((Table1.Pays)=[Entrez le nom du Pays]) AND ((Table1.DateDebut)>=[Entrez la date de début]) AND ((Table1.DateFin)<=[Entrez la date de fin]))
    GROUP BY Table1.Pays;

    Voici la base de test :
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Bonjour;

    je vous remercie pour votre aide.

    Par contre je me demande pourquoi lorsque je rajoute une table (j'ai essayé D’adapter le code sql même si je ne m’y connais pas trop (voir du tout). Et cela me mets une fenêtre supplémentaire).
    de pus ,les résultats ne s’affichent plus. et ça me mets : : entrez une valeur de paramètre « produit.prix » . je trouve donc cela étrange du fait que le prix doit être affiché et non demandé.
    Je me demande où est ce que j’ai fais une mauvaise manipulation.
    Merci

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Produit.[Pays entré], Produit.[Pays sorti], Min(Produit.Prix) AS Minimum, Max(Produit.Prix) AS Maximum, Avg(Produit.Prix) AS Moyenne
    FROM Interconnexion INNER JOIN Produit ON Interconnexion.ID_Produit = Produit.ID_Produit
    WHERE (((Produit.[Pays entré])=[Entrez le nom du pays entrant]) AND ((Produit.DateDebut)>=[Entrez la date de début]) AND ((Produit.DateFin)<=[Entrez la date de fin]))
    GROUP BY Produit.[Pays entré], Produit.[Pays sorti];

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Voici ma base de données
    la requête sur laquelle je travaille s'appelle season.
    Ne regardez pas les autres (elles me servent pour d'autres choses). Je me pose en parallèle si au final J’ai bien créée mes tables … d’où ce problème.

    Je vous remercie une nouvelle fois

    Interconnexion 2 - Copie (2).zipInterconnexion 2 - Copie (2).zip

  5. #5
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 223
    Points : 85 182
    Points
    85 182
    Billets dans le blog
    15
    Par défaut
    J'ai modifié et renommé ta requête, il s'agit maintenant de la requête R_milkoseckTEST.

    Voici le code utilisé et la base corrigé :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Produit.[Pays entré], Produit.[Pays sorti], Min(Interconnexion.Prix) AS Minimum, Max(Interconnexion.Prix) AS Maximum, Avg(Interconnexion.Prix) AS Moyenne
    FROM Produit INNER JOIN Interconnexion ON Produit.ID_Produit=Interconnexion.ID_Produit
    WHERE Produit.[Pays entré]=[Entrez le nom du Pays d'entrée] And Produit.[Pays sorti]=[Entrez le nom du Pays de sortie]
    And Produit.DateDebut>=[Entrez la date, de début] 
    And Produit.DateFin<=[Entrez la date, de fin]
    GROUP BY Produit.[Pays entré], Produit.[Pays sorti];

    Donc quand tu exécutes la requête, Access te demandera de saisir le nom du pays d'entrée, ensuite le nom du pays de sortie, ensuite la date de début et enfin la date de fin. C'est à la suite de cela qu'il t'affichera le résultat attendu.
    Voici ta base corrigée (espérant que c'est ce que tu souhaites faire) :
    Fichiers attachés Fichiers attachés

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Bonsoir ,

    Je vous remercie énormément!!! (Etant plusieurs jours là dessus et vu que je suis en train "d'apprendre sur le tas", le forum était mon dernier recours).

    Vous m'avez beaucoup aidé, et c'est ce que je souhaitais.

    Encore Merci!

    Bonne soirée

  7. #7
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 223
    Points : 85 182
    Points
    85 182
    Billets dans le blog
    15
    Par défaut
    C'est un plaisir.

    Merci de passer la discussion en en cliquant sur le bouton prévu à cet effet.

    Bonne soirée à toi aussi.

    Malick

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

Discussions similaires

  1. Ajouter plusieurs lignes en une requête si existe pas
    Par gnain dans le forum Développement
    Réponses: 5
    Dernier message: 17/12/2014, 18h29
  2. Réponses: 6
    Dernier message: 11/04/2014, 13h17
  3. [AC-2007] Concaténation de plusieurs lignes d'une requête
    Par Thiaume dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/06/2012, 10h06
  4. [MySQL] Sélection de plusieurs lignes en une requête
    Par kalash_jako dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/05/2006, 20h43
  5. Réponses: 8
    Dernier message: 18/09/2002, 04h20

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