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

Langage SQL Discussion :

[Access] requetes sql top 10


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut [Access] requetes sql top 10
    bonjour,

    Je n'arrive pas à faire une requete, pourriez-vous m'aider ?

    J'ai :
    - une table qui contient la liste des pays (20pays) : country_id, country_name
    - une table qui contient les données de tous les fournisseurs de tous les pays avec leurs chiffres d'affaires : country_id, fournisseur_id, fournisseur_name, CA

    je souhaite avoir comme résultat, les 10 plus grands fournisseurs (en terme de chiffres d'affaires) par pays.

    Avez-vous une idée ?
    merci d'avance pour votre aide.

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    UN "TOP 10" (comme précisé dans ton titre) avec un "Order By" ne fonctionne pas ?

    Dans tous les cas, peux-tu nous poster ta requête STP ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Non, UN "TOP 10" avec un "Order By" ne fonctionne pas. j'ai trouvé qqc comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT A.COUNTRY_ID
             , A.Fournisseur_ID
             , A.C_Affaires
    FROM TBL_SALES AS A
    WHERE (((A.C_Affaires) In (SELECT TOP 20 B.C_Affaires 
                                         FROM TBL_SALES AS B 
                                         WHERE B.COUNTRY_ID=A.COUNTRY_ID 
                                         ORDER BY B.C_Affaires DESC)));
    TBL_SALES est la table qui contient toutes mes données : country_id, fournisseur, et chiffres d'affaires

    et ça marche =D merci (^_^)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Pb copie ou export requête TOP
    Bonjour,

    Je travaille sur une table de 2000 individus, je recherche le top 10 du montant d'achat par individu. La requête sql avec la fonction TOP 10 évoquée ci dessus fonctionne, mais je ne peux pas copier ni exporter le résultat, même en .txt
    Qqn a-t-il une solution?

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 117
    Points : 99
    Points
    99
    Par défaut
    La Requête du sous-formulaire est basée sur une seule TableDesAbsences

    J'ai placer une cmbBoxRésident sur le Formulaire principal et je change de Résident selon la cmbBoxRésident et une RequêteParamétrée pour le Formulaire

    Je saisie les Dates Absences du Résident dans le sous-formulaire et je passe au suivant par la cmbBoxRésident

    Jusque là pas de soucis !

    Mais je ne peux pas placer une requête Top directement sur la Table des Absences pour Alimenter mon sous-formulaire (car il me manque des Enregistrements)

    Je verrais bien quelque chose du genre (exemple récupérer sur ce site, de Mr zerti et Mr Xo)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT A.COUNTRY_ID
             , A.Fournisseur_ID
             , A.C_Affaires
    FROM TBL_SALES AS A
    WHERE (((A.C_Affaires) IN (SELECT TOP 20 B.C_Affaires 
                                         FROM TBL_SALES AS B 
                                         WHERE B.COUNTRY_ID=A.COUNTRY_ID 
                                         ORDER BY B.C_Affaires DESC)));
    En gros c'est une Requête TOP sur une Requête SELECT avec WHERE
    mais c'est pas gagné.....

    J'attends un peu avant de marqué Résolu car pour l'instant ça l'est point

    En tout cas merci pour ton idée, je creuse...

    Bonne soirée

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

Discussions similaires

  1. [ACCESS]Requete SQl de détection de passage à la ligne
    Par Bikra dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/07/2008, 10h00
  2. [VBA ACCESS] Requete SQL
    Par ben7777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 02/08/2007, 17h37
  3. [Access] requete sql qui ne fonctionne pas
    Par pobrouwers dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2007, 12h33
  4. requetes sql top 10
    Par zerti dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h36
  5. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54

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