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

SAS Base Discussion :

Left join particulier


Sujet :

SAS Base

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Par défaut Left join particulier
    Bonjour,

    J’ai un soucis en voulant effectuer une jointure particulière.

    En effet, je voudrais faire une Left Outer Join. Vous voyez ces schémas illustrant une jointure ? Avec deux cercles.

    Je ne voudrais pas une LEFT JOIN classique, je voudrais récupérer uniquement les lignes de ma table A qui n’apparaissent pas dans ma table B.

    La seule syntaxe SQL que je trouve sur l’aide sas est celle-ci http://support.sas.com/documentation...a002473712.htm

    Mais elle ne réalise pas ce que je veux, car moi je ne veux conserver que les lignes apparaissant uniquement dans la table de gauche, et surtout pas celles qui sont communes.

    Je vous remercie d’avance

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    tu ajoutes dans le where la condition :"clé de la table 2 est vide"

  3. #3
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Ce que tu veux faire n'es pas un outer join.

    exemple ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    LEFT  JOIN test (WHERE =(etat='C')) AS c 
    				ON b.id_contrat=c.id_contrat
    			WHERE c.id_contrat IS NULL;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 10
    Par défaut
    Donc vous pensez que c'est un left join ?

    Merci bahraoui et sam pour votre aide, je me permets de te glisser mon code (je ne peux pas le metre en forme avec des balises, depuis le smartphone c’est la galère).

    Le journal me renvoie une erreur, en me disant attendre un ON
    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
     
    proc sql;
     
                   CREATE TABLE TRAVAIL.NEW AS
     
       select distinct t1.A,
              t1.B,
              t1.C,
              t1.D,
              t1.E,
              t1.F,
              t1.G,
              t1.H,
              t1.I,
              t1.J
     
          FROM TRAVAIL.JUILLET as t1 LEFT JOIN TRAVAIL.AOUT as t2,
     
       WHERE t2.A=NULL;
                                   quit;

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Il te manque la jointure entre les deux tables!!!

Discussions similaires

  1. count() dans *plusieurs* LEFT JOIN
    Par silver_dragoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2004, 17h20
  2. LEFT JOIN avec Oracle 8i ne va pas... doit utiliser (+)
    Par loikiloik dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/04/2004, 16h38
  3. Interbase et left join
    Par Zog dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/03/2004, 08h55
  4. Non coincident MySQL (Left Join)
    Par Remiguel dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/11/2003, 21h25
  5. Export d'une vue avec LEFT JOIN
    Par schnourf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/05/2003, 13h57

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