Garder les n premiers resulats d'une requete

jonath62 -  
 jonath62 -
yo tutti,

voila, je travaille avec ACCESS et j'aimerai recolter pour chaque requete les n premieres lignes de resultats uniquement.

Le top du top, ce serait d'avoir les n premier resultats pour chaque clé primaire dans les resultats. je m'explique:

voici mes tables
table 1: fournisseur / produit
table 2: produit / quantité

je voudrai les n produits les plus vendus par fournisseurs.
soit qqchose du genre, si n = 3:
resultat:
fournisseur1 / produit7 / quantité=56
fournisseur1 / produit5 / quantité=48
fournisseur1 / produit13/ quantité=22
fournisseur2 / produit1 / quantité=101
fournisseur2 / produit5 / quantité=25
fournisseur2 / produit11/ quantité=19

kk'un peut-il m'aider svp, ce serait grave sympa parce que je lutte comme un porc avec des table de 500 000 lignes...

merci les mecs

5 réponses

  1. francois
     
    heu je vois pas le rapport entre le nombre de données et la complexité de la tache ...bon...

    tu peux faire genre :

    select ... from ...... where quantité > .... ; > vers une vue ou une table virtuelle
    select * from tablevirtuelle where index < nlignes;

    ta table virtuelle bien sur doit obligatoirement avoir un index autoincremental.

    je connais pas assez access mais sur tous les SGBD que je connais il y a la possibilité de creer une colone de donnée qui s'incremente elle meme

    exemple
    index commentaire valeur
    1         1ere ligne        0
    

    si tu ajoute une ligne tu as:
    insert into table values('2eme','1');
    select * from table ;
    index commentaire valeur
    1         1ere ligne        0
    2          2eme               1
    


    et donc avec cet index tu peux limiter tes resultat à n lignes
    (index <= n)
    1
  2. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    ACCESS possède un prédicat nommé TOP :

    SELECT TOP 15 FROM TAB1 ORDER BY 1;

    SELECT TOP 10% FROM TAB2 ORDER BY 1;

    L'aide d'ACCESS sera plus complète que moi ! :-)

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  3. Utilisateur anonyme
     
    SELECT TOP 3
    Table1.fournisseur, Table1.produit,Table2.quantite
    FROM Table1, Table2
    WHERE Table1.produit=Table2.produit
    ORDER By Table2.quantite DESC;
    


    ;-)
    HackTrack
    0
  4. francois
     
    si en plus il est sous forme de predicat ....que du bonheur...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jonath62
     
    YAHOOOOOOOOOOOOOOOO!

    Merci les gars vous imaginez pas le temps que je vais gagner
    J'ai pas encore essayé vos trucs mais ca sent bon en tout cas.

    je vous tiens au courant (sisi, vous en mourrez d'envie)

    TAK TAK (comme on dit ici au danemark)
    0