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

Requêtes et SQL. Discussion :

comment verifier si les date sont bien chronologique


Sujet :

Requêtes et SQL.

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut comment verifier si les date sont bien chronologique
    bonjour,

    je vous explique mon problème j'ai une table avec plus de 10 000 lignes

    pour chaque numéro opération j'ai un numéro de réunion et une date qui lui ai affecte

    les numéros de réunion son de ce type 1 ; 2 ; 3 ; 4 ........ et a chaque numero de réunion nous avons une date qui est chronologique.

    Mon prolbème est que certaine date saisie son en erreur et ne son pas chronologique par erreur
    exemple
    opération / numéro réunion / date réunion
    50 1 01/01/2018
    50 2 05/01/2018
    50 3 15/01/2018
    50 4 10/01/2018 celui la est faut

    comment je peux faire pour avoir une requete qui me trouve le erreurs pour chaque réunion?



    voila ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT OPERATION_ARCHIVAGE.NUM_OPERATION, OPERATION_ARCHIVAGE.DATE_REUNION, OPERATION_ARCHIVAGE.NUM_REUNION, OPERATION_ARCHIVAGE.TYPE_REUNION
    FROM OPERATION_ARCHIVAGE
    WHERE (((OPERATION_ARCHIVAGE.TYPE_REUNION)="REUNIONCHANTIER"))
    ORDER BY OPERATION_ARCHIVAGE.NUM_REUNION;

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    tu peux faire une jointure sur la meme table, avec une idée comme :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.*
    FROM OPERATION_ARCHIVAGE A INNER JOIN OPERATION_ARCHIVAGE B ON A.NUM_REUNION=B.NUM_REUNION-1
    WHERE A.DATE_REUNION<B.DATE_REUNION
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    sa fonctionne pas je passe de 10580 ligne a 6570793

    j'ai ajoute un filtre sur NUM_OPERATION ( pour que le calcul soit fait par OPERATION mais j'arrive a 13456 ligne et le resultat est n'est pas bon
    j'ai pour exemple pour NUM_OPERATION = 26 au départ 54 lignes et la j'ai 59 lignes donc 4 fois la ligne NUM_REUNION = 3 pas contre c'est vrai qui manque la NUM_REUNION dans l'origine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.*
    FROM OPERATION_ARCHIVAGE A INNER JOIN OPERATION_ARCHIVAGE B ON A.NUM_REUNION=B.NUM_REUNION-1
    WHERE A.DATE_REUNION<B.DATE_REUNION  and  A.NUM_OPERATION=B.NUM_OPERATION

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Pour trouver les erreurs on peut programmer un truc genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from matable a where exists (select * from matable b where a.chrono>b.chrono and a.date<b.date)
    ou pour avoir le nombre de réunions plus anciennes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select *, (select count(*) from matable b where a.chrono>b.chrono and a.date<b.date) from matable a
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    super merci sa a fonctionné nickel

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 11/01/2009, 17h27
  2. Comment savoir que deux dates sont égales ?
    Par bassim dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 19/12/2006, 19h36
  3. [MySQL] verifier si les champs sont correct et les comparer a la bdd
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 31/03/2006, 13h36
  4. [.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
  5. Comment savoir si les ScrollBar sont visibles sur un TRichEdit ?
    Par vanquish dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2003, 10h28

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