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

Langage SQL Discussion :

Champs NULL dans une view


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 66
    Par défaut Champs NULL dans une view
    Bonjour à tous,

    J'ai créé une vue qui affiche les données que je désire, mais malheureusement elle affiche aussi plusieurs lignes qui ont "NULL" comme valeur dans chaque champs. Je ne trouve pas ce qui cause ce phénomène, et j'aimerais avoir votre avi. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT     dbo.VIEW3weeks.GSDC_Name, dbo.VIEW3weeks.CA_Name, dbo.VIEW3weeks.PA_Name, dbo.VIEW3weeks.Availibility_ID, 
                          dbo.VIEW3weeks.[Date of entry]
    FROM         dbo.VIEW3weeks FULL OUTER JOIN
                              (SELECT     dbo.VIEWLatestDate.GSDC_Name, dbo.VIEWLatestDate.PA_Name, dbo.VIEWLatestDate.CA_Name
                                FROM          dbo.VIEWLatestDate) DERIVEDTBL ON 
                          dbo.VIEW3weeks.GSDC_Name = DERIVEDTBL.GSDC_Name COLLATE SQL_Latin1_General_CP1_CI_AS AND 
                          dbo.VIEW3weeks.PA_Name = DERIVEDTBL.PA_Name COLLATE SQL_Latin1_General_CP1_CI_AS AND 
                          dbo.VIEW3weeks.CA_Name = DERIVEDTBL.CA_Name COLLATE SQL_Latin1_General_CP1_CI_AS
    WHERE     (dbo.VIEW3weeks.GSDC_Name IS NULL) OR
                          (DERIVEDTBL.GSDC_Name IS NULL)
    Et voici un exemple de résultat que je recois:








    Canada APZ NTC 92 21/01/2008 9:20:12 AM
    Canada CPM SI 102 22/01/2008 4:34:29 PM
    Mexico CPM NDI 109 23/01/2008 6:19:47 PM
    Mexico SPM NDI 110 23/01/2008 6:20:43 PM

    Bon ca ne paraît pas super bien, mais il y a 6 lignes avec la valeur NULL comme résultat dans chaque champ et ensuite il y a les données que je désire.
    Qu'est-ce qui cause la création de ces lignes inutiles?
    Puis-je me débarasser de celles-ci?

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Il est fortement recommandé de préciser son SGBD et la version... dans ton cas, ça a une tête de SQL Server...
    Citation Envoyé par Dohmaker Voir le message
    Qu'est-ce qui cause la création de ces lignes inutiles?
    Tu utilises un FULL OUTER JOIN, mais tu n'affiches que les colonnes provenant de ta vue, et aucune provenant de ta table dérivée. J'imagine donc qu'il s'agit de six lignes de la table dérivée qui n'ont pas de correspondance sur la vue.

    Citation Envoyé par Dohmaker Voir le message
    Puis-je me débarasser de celles-ci?
    Si mon hypothèse est juste, en remplaçant FULL OUTER JOIN par LEFT OUTER JOIN... mais je pense qu'il y a un problème de logique dans ta construction. Pourquoi utiliser un FULL OUTER si tu ne fais pas sortir de colonnes de ta seconde table ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 66
    Par défaut
    Parce que ce que je désirais était un LEFT OUTER JOIN j'avais mal interprété le fonctionnement de ce dernier. Merci pour la précision!

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

Discussions similaires

  1. probleme avec un champ null dans une requête sql
    Par kroma23 dans le forum Bases de données
    Réponses: 6
    Dernier message: 20/03/2014, 15h09
  2. champ null dans une requête update
    Par hammag dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2011, 19h17
  3. [AC-2003] insertion d'un champ NULL dans une table en VBA
    Par marieo dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/08/2009, 18h46
  4. Récupération d'un champ null dans une table
    Par floctc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2009, 09h12
  5. Nbre de champs à NULL dans une table ?
    Par Pilgrimm01 dans le forum SQL
    Réponses: 4
    Dernier message: 17/07/2007, 15h46

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