Hello New to SAS and new to the forum I am just wondering if There is a way to update a table using a inner join.
Proc SQL; update AllDataSimple set AllDataSimple.gasprice = forward_gasprices.price from AllDataSimple inner join work.forward_gasprices on forward_gasprices.DeliveryDate = AllDataSimple.DeliveryDate where forward_gasprices.DeliveryDate > today()-1 ; QUIT
SAS only highlights UPDATE and SET and I get an error:
Expecting an =. (affected code set AllDataSimple.gasprice = forward_gasprices.price)
When I search for a solution the error only came up when there was a syntax error and I am sorry if that is the case but it really seems to me like SAS just doesn't like the from or inner join and the set.
The SET keyword has a variable name and a value.
You can generate the value using a correlated subquery, just make sure it returns only one observation.
Or are you trying to tell UPDATE which observations to change? For that you use a WHERE condition. Again if the test to identify which observations to update involves another dataset then use a subquery, perhaps using EXISTS ().
Perhaps something like this?
update AllDataSimple
set AllDataSimple.gasprice =
( select forward_gasprices.price
from AllDataSimple
inner join work.forward_gasprices
on forward_gasprices.DeliveryDate = AllDataSimple.DeliveryDate
and forward_gasprices.DeliveryDate > today()-1
)
where exists
( select forward_gasprices.price
from AllDataSimple
inner join work.forward_gasprices
on forward_gasprices.DeliveryDate = AllDataSimple.DeliveryDate
and forward_gasprices.DeliveryDate > today()-1
)
;
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.