1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Requete avec group by

Discussion dans 'Windev' créé par enduracecanyon, Jan 3, 2019.

  1. enduracecanyon

    Inscrit:
    Jan 16, 2018
    Messages:
    41
    J'aime reçus:
    7
    Bonjour à tous,

    Mon meilleures voeux pour 2019

    J'ai une question concernant un requete sur un fichier.

    Il s'agit d'un table document ou je v'ai stocker des document de different type (word, xls, …)

    Mon probleme est le suivant:

    Quand je change le document je sauver le document avec hajoute parce que je voulais obtenir le document orignal. Chaque fois le version augmenter avec 1.

    Dans mon table je veux seulement voir le dernier document modifier.

    Mon fichier:

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    mon table dans la programme
    donc la but est de afficher par exemple un fois id "1" , un fois id "4" avec la version derniere

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Merci pour l'aide
     
    Tags:
    aminej76 apprécie ceci.
  2. Kelard

    Kelard Active Member
    MEMBRE WX

    Inscrit:
    Avr 6, 2018
    Messages:
    103
    J'aime reçus:
    134
    Salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Peux-tu nous fournir la requête utilisé pour générer la table, pour qu'on puisse apporter une solution concrète. Merci.
     
    joker apprécie ceci.
  3. enduracecanyon

    Inscrit:
    Jan 16, 2018
    Messages:
    41
    J'aime reçus:
    7
    Salut a tous,

    voice la requete en code sql

    SELECT DISTINCT
    Documents.Docid AS Docid,
    Documents.Doctime AS Doctime,
    Documents.Docdate AS Docdate,
    Documents.Docuser AS Docuser,
    Documents.File AS File,
    Documents.Filename AS Filename,
    Documents.Version AS Version,
    Documents.Doctype AS Doctype,
    Documents.Restored_from AS Restored_from,
    Documents.Docsize AS Docsize,
    MAX(Documents.Docdate +Documents.Doctime) AS Formule1
    FROM
    Documents
    GROUP BY
    Documents.Docid,
    Documents.Doctime,
    Documents.Docdate,
    Documents.Docuser,
    Documents.File,
    Documents.Filename,
    Documents.Version,
    Documents.Doctype,
    Documents.Restored_from,
    Documents.Docsize

    J'ai le creer avec l'éditeur
     
  4. FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Avec la structure de ta table actuelle, tu pourrais le faire en deux temps.
    Tu sors le dernier de chaque Docid, puis avec le résultat tu vas rechercher l’information :

    SELECT Docid, MAX(Docdate + Doctime) FROM Documents GROUP BY Docid

    Il y aurait une façon de faire le tout en une seule requête,
    mais plus il y aura de données, plus se sera long.

    L’autre solution est de mettre un ID automatique dans ta table, et d'avoir le résultat en une seule requête :

    SELECT * FROM Documents WHERE IDUnique IN (SELECT MAX(IDUnique) FROM Documents GROUP BY Docid)

    Là aussi, je me pause la question sur l'impact avec l’accroissement du nombre de documents,
    mais plus du tout sur la progression du nombre de modifications.

    A+.
     
    aminej76 apprécie ceci.
  5. enduracecanyon

    Inscrit:
    Jan 16, 2018
    Messages:
    41
    J'aime reçus:
    7
    Bonsoir,

    Merci pour la réponse,

    Tres bon
     

Partager cette page

Chargement...