begin process at 2012 05 26 20:57:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Recupèrer les 6 premiers prix de chaque objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recupèrer les 6 premiers prix de chaque objet

jeudi 12 novembre 2009 à 19:54:29 | Recupèrer les 6 premiers prix de chaque objet

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut les amis,

J'essaye d'écrire une requête un peu particulière, mais j'y arrive pas. Je compte sur vous pour me guider ;)

Voici le genre de requête que j'ai besoin de faire : faire un select du champ "objet" d'une table dont le champ prix fait parti des 6 prix les moins chers pour chaque objet.

Grosso modo, ca donnerait un truc du genre :
SELECT "les six premier"(objet) FROM prixObjet GROUP BY objet ASC

Donc il me faudrait au max 6 lignes PAR objet me donnant (au max) les 6 premiers prix (ou moins s'il y a moins de 6 prix par objet).

Là je sèche pour faire cà, vous auriez une idée ?
______________________________________
DarK Sidious
vendredi 13 novembre 2009 à 09:50:57 | Re : Recupèrer les 6 premiers prix de chaque objet

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

J'ai un peu avancé dans ma requête : j'ai trouvé comment faire, mais c'est bien trop lent !!! Environ 30 minutes pour obtenir le résultat escompté...

VOici ma requête :
Code :
SELECT id, cObjet, cSite, cPrix, cDateVente
FROM tPrixObjet AS prixObjet
WHERE prixObjet.id IN
(SELECT TOP 6 id FROM tPrixObjet AS prixObjetOrdonnes WHERE prixObjetOrdonnes.cObjet = prixObjet.cObjet AND prixObjetOrdonnes.cSite = prixObjet.cSite AND cDateVente IS NULL ORDER BY cPrix ASC);


Si j'enlève le cDateVente IS NULL alors ca va très vite (quasi instantané), mais malheureusement, il faut que je rajoute ce test, et là c'est le drame ! Quelqu'un aurait une idée pour faire plus optimisé ?

Merci d'avance

______________________________________
DarK Sidious
vendredi 13 novembre 2009 à 19:06:28 | Re : Recupèrer les 6 premiers prix de chaque objet

nhervagault

Administrateur CodeS-SourceS
Salut,

Si mets un index ca donne quoi sur la colonne date?
Si tu passes par une vue sur la table tPrixObjet Ca donne quoi?
vendredi 13 novembre 2009 à 19:12:38 | Re : Recupèrer les 6 premiers prix de chaque objet

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Malheureusement le champ est déjà indexé. :(

Par contre, comment tu fais pour avoir une vue sur la table tPrixObjet ? (il s'agit d'une base de données access...)

Merci pour ta réponse
______________________________________
DarK Sidious
vendredi 13 novembre 2009 à 19:40:55 | Re : Recupèrer les 6 premiers prix de chaque objet

nhervagault

Administrateur CodeS-SourceS
Tu fais une requete qui appelle une requete,
il me semble que ca marche

Apres au niveau optimisation Access n'est pas le TOP ;-)

Tu peux apparement crée des vue avec ACCESS avec l'instruction CREATE VIEW ....
vendredi 13 novembre 2009 à 20:23:36 | Re : Recupèrer les 6 premiers prix de chaque objet

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Oui je sais bien qu'access c'est loin d'être rapide, mais malheureusement j'ai pas le choix :'(

Mais quand même : 30 Minutes pour une requête sur une table qui fait 30 000 enregistrements, c'est énorme ! Surtout qu'elle risque stocker plus de 100 000 enregistrements à terme... Et tout cà pour retourner environ 10 000 enregistrements en retour de requête.

Je vais essayer avec le CREATE VIEW pour voir, merci !
______________________________________
DarK Sidious


Cette discussion est classée dans : objet, requête, prix, premiers, recupèrer


Répondre à ce message

Sujets en rapport avec ce message

requête sql (update avec deux bases) [ par jee0404 ] Bonjour,            Je veux pouvoir updater le prix de mes enregistrements de la base de donnée 1 avec les prix de la base de donné 2 , si le champ it Dans une requête, ajouter un champ "ordre" qui s'incrémente [ par GAMBERGE ] Bonjour, Je cherche à écrire une requête SQL Access issue d'une table COMMANDES permettant d'ajouter un champ "Ordre" qui s'incrémente pour chaque fou COMMENT FAIRE UN CHAMP like UN AUTRE CHAMP [ par Delph83 ] Bonjour tout le monde Voilà j'ai un problème avec une requête sql et la clause LIKE : <P class=MsoNormal style="MARGIN: 0cm 0 vba sous access - insertion d'une requete dans une table [ par bonnaud ] Bonjour, J'ai fait une requête sous access en vba qui me permet de calculer un nouveau champ que j'ai nommé total à partir d'une table. J'arrive à vis Requête sur deux indices pointant sur une même table [ par dompro ] Bonjour,Voici ce que je  recherche:    Rencontre avec comme champs Id_Eng1 et Id_Eng2      Engagement avec Id_Eng, Lb_Eng, Id_Org    Organisation avec Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce Sql (requête sur un Datatime field) [ par Guilaye ] Bonjour Messieurs Merci à chacun pour le beau ravail que vous faîtes. J'ai une BD SQL dans laquelle j'ai entre autre une table du genre ProfileLog SQL comment écrire cette requête [ par jmey ] Je cherche une fonction SQL.   Voici le problème :   J’ai un fichier CLIENT e requête Insert Into [ par richch ] Salut,Est ce que je peux utiliser cette requête, si non quelle est l'erreur?SQL="insert into Article (code_Famille, lib_Pr, def_Pr, princ_Vertus, gluc requête UPDATE [ par richch ] Salut,Voici une requête qui ne fonctionne pas, j'ai pas traové l'erreur, veuillez m'aider.SQL = "UPDATE admin SET password='" & nouveauMpasse & "'logi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales