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 :

Jointure de deux tables : clé avec observations multiples


Sujet :

SAS Base

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Jointure de deux tables : clé avec observations multiples
    Bonjour à tous,

    Je débute avec sas et je rencontre quelques difficultés dans la jointure de deux tables.
    Table 1 :
    date id_firm
    12/12/12 a
    10/09/12 b
    08/12/12 b

    Table 2 :
    id_firm price date
    a 10 ...
    a 11 ...
    b 78 ...
    b 76 ...

    Table final :
    date id_firm Price Date
    12/12/12 a 10 ...
    12/12/12 a 11 ...
    10/09/12 b 78 ...
    10/09/12 b 76 ...
    08/12/12 b 78 ...
    08/12/12 b 76 ...

    J'ai tout d'abord opté pour un DATA MERGE. Or, mon problème est que ma clé de jointure (id_firm) comporte plusieurs observations (plusieurs dates).
    Dans la table obtenue, les observations de la Table 2 ne sont pas dubliquées en présence de doublons.

    J'ai donc tenté un PROC SQL grâce notamment au site suivant : http://thesasreference.wordpress.com/tag/merge/

    Nénamoins, cela ne marche pas.
    Est-ce que vous auriez une idée de la manière dont il faut procéder pour que les observations de la Table 2 soient bien recopiées pour chaque observation de la table 1 (même si la clé de jointure apparaît plusieurs fois dans la table) ?

    Je vous remercie par avance de toute indication que vous pourriez me donner.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonjour,

    la PROC SQL est une bonne piste ... ci-dessous un exemple de code avec tes données :

    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
    24
    25
     
    data table1;
    input date ddmmyy8. id_firm$;
    cards;
    12/12/12 a
    10/09/12 b
    08/12/12 b
    ;
     
    data table2
    input id_firm$ price;
    cards;
    a 10
    a 11
    b 78
    b 76
    ;
    run;
     
    proc sql;
    	create table table_final as select
    		date format=ddmmyy8., t1.id_firm, price
    	from table1 t1 left join table1 t2 on (t1.id_firm = t2.id_firm)
    		order by date;
    quit;

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/03/2012, 10h31
  2. jointure de deux tables avec hibernate
    Par Palsajicoco dans le forum Hibernate
    Réponses: 0
    Dernier message: 04/05/2011, 17h03
  3. Delete avec jointure sur deux tables
    Par cecilebh dans le forum SQL
    Réponses: 10
    Dernier message: 28/03/2011, 17h10
  4. Requête SELECT avec jointure sur deux tables
    Par bud64 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/10/2010, 14h06
  5. [c#]commande Select avec jointure de deux tables
    Par chorokari dans le forum Accès aux données
    Réponses: 6
    Dernier message: 18/10/2006, 14h47

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