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 régulier
    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
    Points : 97
    Points
    97
    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 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    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 éminent sénior 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
    Points : 11 252
    Points
    11 252
    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