Bonsoir, J'ai deux table Produits(idproduit,code,nomproduit) et mouvements (idproduit,date,qte,sens(1=entrée,2sortie) J'ai besoin d'une requête pour lire uniquement donner pour chaque produit Mouvement. Je sais le faire en HF, mais quand tu as une couche OLEDB, avec 10000 produits et 200000 enregistrements, il doit exister une requête adaptée. Bonsoir
Hello, J'ai pas bien compris la demande "J'ai besoin d'une requête pour lire uniquement donner pour chaque produit Mouvement." Mais tu veux afficher la liste des mouvements par produits, c'est très simple : Code (SQL): SELECT Produits.IDProduit, Produits.NomProduit, Mouvements.DATE, Mouvements.qte, Mouvements.sens FROM Produits INNER JOIN Mouvements ON Mouvements.IDProduit Produit.IdProduit ORDER BY Produits.IDproduit, Mouvements.DATE ASC Mais je suis pas sur que ce soit ça la question ?
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!, je dois lire uniquement le dernier enregistrement à la date de chaque produit. Si un produit a par exemple 40 mouvement, seul le dernier va m'aider. La dernière action et sa date Bonjour, Je crois que en dehors d’exécuter les requêtes à plusieurs reprises, il n'y a pas de solution.
Le champ Date de ta table Mouvements est de type date ou DateHeure ? Ce qui est dommage c'est qu'il n'y a pas de clé unique "IDMouvement" dans ta table Mouvements qui aurait permis de détecter a coup sur le dernier mouvement. Sinon essaye : Code (SQL): SELECT Produits.IDProduit, Produits.NomProduit, Mouvements.DATE, Mouvements.Sens FROM Mouvements FROM Mouvements INNER JOIN Produits ON Mouvements.IDProduit = Produits.IdProduit WHERE Mouvements.DATE = (SELECT MAX(DATE) FROM Mouvements WHERE Mouvements.IdPorduit = Produits.IDProduit ) ORDER BY Produits.IDProduit ASC
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! , Pour le champ IDmouvement, il existe. Je ne l'ai juste pas déclaré dans la question
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! C'est parfait alors ca devrait fonctionner avec ca : Code (SQL): SELECT Produits.IDProduit, Produits.NomProduit, Mouvements.DATE, Mouvements.Sens FROM Mouvements FROM Mouvements INNER JOIN Produits ON Mouvements.IDProduit = Produits.IdProduit WHERE Mouvements.IDMouvement= (SELECT MAX(IDMouvement) FROM Mouvements WHERE Mouvements.IdPorduit = Produits.IDProduit ) ORDER BY Produits.IDProduit ASC
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! , Je ne peux pas te dire ce qu'il en est, mais j'ai eu un résultat qui m'avait l'air juste. Parce dans les faits, j'avais simplifié la requête pour avoir la faisabilité. La vrai requête, C'est un client, ses comptes et ses mouvements. Beaucoup plus complexe, mais dans le même ordre d'idée. Ca m'a été d'un grand sécours.