SAS: сопоставить столбец из 1 таблицы с любым из нескольких столбцов в другой таблице - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть таблица1, содержащая 4 разных вида идентификаторов

Data table1;
Input id1 $ id2 $ id3 $ final_id $;
Datalines;
1 a a1 p
2 b b2 q
- c c2 r
3 d - s
4 - d4 t

Таблица2 содержит любые идентификаторы из id1, id2 или id3 таблицы1:

Data table1;
Input id $ col1 $ col2 $;
Datalines;
1 gsh ywu
b hsjs kall
c2 jsjs ywe
3 sja weei
d4 ase uwh

Я хочуприсоединиться слева к table1 на table2 так, чтобы я получил новый столбец в table2, дающий мне final_id из table1.

Как мне решить эту проблему?

Пожалуйста, помогите.

Спасибо.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете сделать это, используя SQL:

proc SQL noprint;
create table merged as
    select b.final_id, a.*
    from table2 as a left join table1 as b
    on (a.id eq b.id1 or a.id eq b.id2 or a.id eq b.id3)
;
quit;
...