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

SQL Oracle Discussion :

Problème de doublons dans une vue


Sujet :

SQL Oracle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut Problème de doublons dans une vue
    Bonjour,

    Voici mon problème, j'ai créé une vue sous oracle sql developper dont voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE OR REPLACE VIEW toto.ESSAI(no_individu,tem_ind,tem_indiv_email,tem_indiv_tel,tem_affect,tem_affec_rech,tem_personnel)
    as
    select i.no_individu,
    nvl((select 1 from dual where i.d_modification >'01/01/13'),0),
    nvl((select 1 from dual where iem.d_modification > '01/01/13'),0),
    nvl((select 1 from dual where it.d_modification > '01/01/13'),0),
    nvl((select 1 from dual where aff.d_modification > '01/01/13'),0),
    nvl((select 1 from dual where affr.d_modification >'01/01/13'),0),
    nvl((select 1 from dual where pers.d_modification > '01/01/13'),0)
    from 
    indiv i,
    indiv_mail iem,
    indiv_tel it,
    affect aff,
    affect_2 affr,
    perso pers
    where 
        i.no_individu = iem.no_individu(+)
    and i.no_individu = it.no_individu(+)
    and i.no_individu = aff.no_dossier_pers(+)
    and i.no_individu = affr.no_dossier_pers(+)
    and i.no_individu = pers.no_dossier_pers
    order by 1;
    Et mon problème c'est que j'ai des lignes en double ??? Pourquoi ? Il est clair que lorsque je fais un select distinct le ob disparait mais j'aimerais savoir pourquoi sans le distinct il y a des doublons ?
    Merci pour vos réponses
    NFHnv

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Citation Envoyé par NFHnv Voir le message
    pourquoi sans le distinct il y a des doublons ?
    Sûrement à cause des relation 1..n entre indiv et au moins une des autres tables de la requête.

    Par contre je remplacerais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nvl((SELECT 1 FROM dual WHERE i.d_modification >'01/01/13'),0)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case when i.d_modification > to_date('01/01/13','dd/mm/yyyy') then 1 else 0 end
    CASE pour éviter les appels sur dual et to_date pour éviter les conversions implicites.

    Peut être couplé à un max (à la façon d'un pivot) en fonction du besoin qui n'est pas précisé.

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    C’est normal de qu'un individu peut avoir plusieurs adresse de mail ou numéros de téléphone, etc.

Discussions similaires

  1. Problème de doublons dans une dimension Parent-Enfant
    Par JackylRadis dans le forum SSAS
    Réponses: 6
    Dernier message: 13/03/2012, 16h39
  2. Problème de doublon dans une jointure
    Par kvkylian dans le forum Langage SQL
    Réponses: 7
    Dernier message: 18/07/2011, 12h37
  3. Problème de doublons dans une macro d'insertion
    Par guilo49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/12/2009, 16h35
  4. Supprimer les doublons dans une vue
    Par Le Marlou dans le forum SQL
    Réponses: 3
    Dernier message: 29/08/2008, 15h53
  5. Problème de doublons dans une requète complexe
    Par noakiss dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/03/2008, 09h19

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