TABLE1とTABLE2をLEFT JOINするのが目的です。
条件は初めにIDで引き当てて、引き当たればそれ以降の結合条件は適用しない。
もし引き当たらなければ次はNAMEで引き当てたいです
しかし、下記の様なクエリを実行するとIDでもNAMEでも引き合ってしまいます。
期待する結果を得るためにはどの様なクエリを書けばよろしいでしょうか?
ご教示いただけると幸いです。
▼期待する結果
ID,NAME,FLG
1,AAA,1
2,BBB,0
3,CCC,0
▼実際の結果
1,AAA,1
2,BBB,0
3,CCC,0
3,CCC,1
▼コード
DATA WORK.TABLE1;
INPUT ID NAME$;
1 AAA
2 BBB
3 CCC
;
RUN;
DATA WORK.TABLE2;
INPUT ID NAME$ FLG;
1 AAA 1
3 BBB 0
5 CCC 1
;
RUN;
PROC SQL;
CREATE TABLE WORK.MERGE AS
SELECT
*
FROM
WORK.TABLE1 T1
LEFT JOIN WORK.TABLE2 T2
ON T1.ID = T2.ID
OR T1.NAME = T2.NAME
;
QUIT;