1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Requête SQL

Discussion dans 'Base de donnés & HFSQL' créé par LAPIPE2018, Août 20, 2018.

  1. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227
    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
     
    Tags:
  2. Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    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 ?
     
  3. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    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.
     
    #3 LAPIPE2018, Août 20, 2018
    Dernière édition par un modérateur: Août 21, 2018
  4. Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    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
     
     
  5. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    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
     
  6. Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154

    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
     
     
    joker et LAPIPE2018 aiment ça.
  7. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    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.
     
    Ezekiel056 et joker aiment ça.

Partager cette page

Chargement...