IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

comment trouver les dates max en multi-tables ?


Sujet :

Bases de données Delphi

  1. #1
    S.H
    S.H est déconnecté
    Membre très actif
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Par défaut comment trouver les dates max en multi-tables ?
    Bonjour

    j'ai 3 tableaux (access)

    tableau de produit
    tableau de la date d'entree
    tableau de la date de sorté


    j'essaye de filtrer des donnees entre deux tableaux (date d'entree et la date de sorté) quel est le MAX date (la date la plus proche)
    et affiche un message de la date la plus proche et dans quel tableau (dans la date d'entree ou dans la date de sorté )
    par exemple

    ________
    produit |
    ----------
    prduit1 |
    produit2 |
    produit3 |
    ----------
    ____________
    date_entree |
    ---------------
    12/10/2005 |
    01/05/2007 |
    01/02/2008 |
    ---------------

    ___________
    date_sortié |
    --------------
    12/12/2005 |
    25/01/2008 |
    10/10/2010 |
    le message s'affiche "la date plut proche de la pruit1 (par exemple) est le 10/10/2010 dans le tebleau date_entree"
    le tableau de produit lier avec le tableau de la date d'entree et letableau de la date de sorité parceque un produit peut etre contien plusieur date d'entree ou date de sorté

    est ce que j'utilise Locate ou sql ? commen le fait?

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    C'est une question SQL, peut être Delphi (je doute).
    En tout cas moi je ferais un SQL avec jointure sur des CTE, mais avec Access (qui est loin d'être ma tasse de thé) j'essaierai qelqueschose comme ceci
    quitte ensuite à plutôt essayer avec des LEFT JOIN sur les tables de dates

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
     P.CODE,
     (SELECT MAX(DATE_ENTREE) AS DATE_ENTREE FROM ENTREES E WHERE E.CODE=P.CODE),
     (SELECT MAX(DATE_SORTIE) AS DATE_SORTIE FROM SORTIES S WHERE S.CODE=P.CODE)
    FROM PRODUIT P

  3. #3
    S.H
    S.H est déconnecté
    Membre très actif
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Par défaut
    merci beaucoup SergioMaster pour votre aide

    je ne comprends pas le code bien

    p.code -->que ce que signifie

    et CTE commencer avec WITH

    pouvez-vous me écrire tout le code ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    il s'agit de SQL ,

    p.CODE
    le champ code de la table Produit , le p représentant un alias de nom (que j'ai d'ailleurs oublié de mettre dans ma proposition , corrigée)

    avec une CTE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    WITH E AS (SELECT CODE,MAX(DATE_ENTREE) AS DATE_ENTREE FROM ENTREES),
            S AS (SELECT CODE,MAX(DATE_SORTIE) AS DATE_SORTIE FROM SORTIES)
     
    SELECT P.CODE,E.DATE_ENTREE,S.DATE_SORTIE FROM PRODUIT P
    LEFT JOIN E ON P.CODE=E.CODE
    LEFT JOIN S ON P.CODE=S.CODE
    P.S. Merci de changer le titre cet espèce de franglais me hérisse le poil

  5. #5
    S.H
    S.H est déconnecté
    Membre très actif
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Par défaut
    merci beaucoup SergioMaster

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 607
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par S.H Voir le message
    merci beaucoup SergioMaster
    ne pas oublier de mettre/cliquer sur si c'est le cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer une condition Max(Date)
    Par prudy1977 dans le forum Designer
    Réponses: 6
    Dernier message: 25/08/2011, 10h45
  2. Réponses: 4
    Dernier message: 20/02/2010, 02h40
  3. [.NET][C#][WinForms]Comment récupérez-vous les dates?
    Par Floyd dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/11/2005, 16h16
  4. comment faire pour avoir Date JJ/MM/YYYY
    Par zaoueche dans le forum Débuter
    Réponses: 2
    Dernier message: 27/10/2005, 09h59
  5. Comment faire un MAX et y associer l'id correspondant svp
    Par einstein40 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/10/2005, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo