Can someone help me understand how to write the below match merge code using proc sql?
DATA WORK.ACT
MERGE WORK.ATTAIN2 (in=A) WORK.ACTL2 (in=B);
BY FISC_YR FISC_PD FISC_WK PO PLANT MATERIAL2;
RUN;
I tried using Full Join and also with Where clause as shown below to rewrite match merge but total record count is not matching. Why so? How to write match merge using sql?
PROC SQL;
CREATE TABLE ACT AS
SELECT A.* ,B.*
FROM WORK.ATTAIN2 A FULL JOIN WORK.ACTL2 B
ON A.MATERIAL2=B.MATERIAL2 AND A.PLANT=B.PLANT AND A.PO=B.PO AND A.FISC_YR=B.FISC_YR AND A.FISC_PD=B.FISC_PD AND A.FISC_WK=B.FISC_WK;
RUN;
PROC SQL;
CREATE TABLE ACT AS
select B.*,A.SNPSHT_DT,A.IP_BRAND,A.IP_BU,A.CATG,A.PLANNED_CS,A.PLANNED_LB,A.PLANNED_ZNL
from ACTL2 as B ,ATTAIN2 as A
where B.FISC_YR=A.FISC_YR AND B.FISC_PD=A.FISC_PD AND B.FISC_WK=A.FISC_WK AND B.PO=A.PO AND
B.PLANT=A.PLANT AND B.MATERIAL2=A.MATERIAL2;
RUN;
... View more