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

Sybase Discussion :

Clause is not null et jointure left outter


Sujet :

Sybase

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 121
    Points : 67
    Points
    67
    Par défaut Clause is not null et jointure left outter
    Bonjour,

    je suis particulièrement perplexe face à l'état de fait suivant :

    une clause is not null sur un champ n'est pas appliqué si celui est dans une table dont la jointure est de type left outter join. (ou *=)

    Exple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select      B.toto
    FROM     A, B
    WHERE    A.cle *= B.cle
    AND      A.toto is not null
    me renvoie des valeurs NULL. Si je transforme la liaison en
    je n'ai plus de valeur NULL.

    Est ce propre à sybase ? Est ce une option paramètrable ? Sur sql server il me semble que B.toto n'est jamais null qu'elle que soit la liaison ... ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 121
    Points : 67
    Points
    67
    Par défaut rectif ...
    Je voulais bien sur écrire :

    dans la requête ...

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Les jointures externes en mode non-ansi ont un comportement parfois bizarre.

    Je préconise d'ecrire ceci en ANSI:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SELECT      B.toto
    FROM     B
    left outer joint A
    on A.cle = B.cle
    and A.toto is not null
    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 121
    Points : 67
    Points
    67
    Par défaut Retesté en ANSI, ok !
    Ouf j'ai eu très peur. Merci pour cette précision et ta réponse rapide.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/01/2007, 10h17
  2. [SQL] supprimer le "not null" à un type
    Par AnestheziE dans le forum SQL
    Réponses: 10
    Dernier message: 27/11/2003, 13h56
  3. Alter column => passer de NOT NULL à NULL
    Par JohnGT dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/10/2003, 11h16
  4. Réponses: 8
    Dernier message: 24/07/2003, 10h45
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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