It should be an easy one but I'm stuck
Proc sql; UPDATE dicofr SET
dicofr.period = correspondance.period
FROM dicofr INNER JOIN correspondance ON dicofr.name_fic = correspondance.name_fic;
I was thinking my update would be done but I got this error instead.
271 proc sql;
272 update dicofr
273 set dicofr.period = correspondance.period - 73 76
ERROR 73-322: Expecting an =. ERROR 76-322: Syntax error, statement will be ignored.
I've tried with a straight join with a select
proc sql; SELECT * FROM dicofr INNER JOIN correspondance ON dicofr.nom_fic=correspondance.nom_fic;
The select is fine.
How come?
Is my SQL query not correct? I don't think so ...
Edited: It seems the update I want to do is not possible. Is there a way to do what I want with SAS language?
I found my answer.
proc sql;
update dicofr as h1
set period=(select period from correspondance as h2 where h1.name_fic=h2.name_fic)
where name_fic in (select name_fic from correspondance);
quit;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.