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

PL/SQL Oracle Discussion :

Dédoublonnage en fonction de la période


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Dédoublonnage en fonction de la période
    Bonjour,

    J'ai un petit problème qui me bloque depuis ce matin et que je n'arrive pas à résoudre :

    J'ai une table T1 comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Id	Type	Debut		Fin
    1	A	01/01/2020	NULL
    1	A	01/01/2021	NULL
    1	B	01/01/2019	31/12/2019
    2	A	03/02/2019	NULL
    2	B	01/02/2019	02/02/2019
    2	A	01/01/2019	31/01/2019
    Normalement les enregistrements se suivent (Cf. Id=2) mais en raison d'erreurs certains doublons se sont glissés dans la table (Cf. Id=1 et Fin=NULL).
    En fait il ne devrait y avoir qu'un seul enregistrement par Id avec fin=NULL.

    Comment puis-je faire pour enlever ces enregistrements pour arriver à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Id	Type	Debut		Fin
    1	A	01/01/2020	NULL
    1	B	01/01/2019	31/12/2019
    2	A	03/02/2019	NULL
    2	B	01/02/2019	02/02/2019
    2	A	01/01/2019	31/01/2019
    D'avance merci de votre aide !

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Comment tu détermines qu'une ligne est un doublon?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Bonjour et merci de ta réponse. En effet je n'ai pas été très clair.
    En fait il faut qu'à un instant t il n'y ai qu'un seul enregistrement par Id.

    Le problème c'est que pour l'Id=1, j'ai 2 enregistrements qui couvrent la même période :

    Pour la date d'aujourd'hui les 2 premières lignes ressortent.

    J'espère être plus clair (mais j'en suis pas sûr...)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    En fait, poser le problème c'est à moitié le résoudre...

    Un simple GROUP BY sur Id, Type, Fin avec un MIN(debut) semble résoudre mon problème...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/04/2016, 18h09
  2. [XL-2010] Date de début/fin dans une liste en fonction d'une période
    Par beloquinto dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/02/2014, 00h07
  3. c'était quoi cette fonction qui croise 2 périodes de dates ?
    Par clavier12AZQSWX dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/04/2009, 08h38
  4. Réponses: 12
    Dernier message: 29/10/2008, 12h45
  5. [Conception] Prix en fonctions des périodes
    Par developpertun dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 05/04/2006, 12h26

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