Trying to set Column A on Table CONT with value of 1 based on criteria of Column CU on Table CONT and Column Flag on Table CUST.
proc sql;
UPDATE CONT
SET A = 1
WHERE CONT.DATE = CUST.DATE AND CONT.C = CUST.C
AND CUST.FLAG = 'A' AND CONT.CU=1;
QUIT;
You cannot just refer to different tables in the WHERE caluse, you need to speficy a join somehow.
There are laods of examples on how to this on the internet (this is not a SAS specific task, it's plain SQL).
You might want to try
proc sql; UPDATE CONT SET A = 1 WHERE cu = 1 and exists (select * from CUST where date = CONT.DATE AND c = CONT.C and FLAG = 'A'); QUIT;
It worked!!
Thanks a lot!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Submit your idea!
SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.
Find more tutorials on the SAS Users YouTube channel.