Hello everyone,
I am trying to bring together two tables using the following code:
proc sql;
create table my.mvabpavement2008 as
select *
from my.mvab2008p mvab, my.pavement2008 pave
where mvab.dirtra = pave.direction and mvab.REFERENCE_NO >= pave.from_lhrs and pave.to_lhrs >= mvab.REFERENCE_NO;
quit;However, when running that code I get duplicate results especially in cases where REFERENCE_NO= from_lhrs and REFERENCE_NO (not)equal to_lhrs and the vice versa. I would think that this paraphrasing would indicate that unless statements are satisfied it would not produce an observation. What am I doing wrong?
A sample is attached.
EDIT, The solution is:
where mvab.dirtra = pave.direction and (pave.from_lhrs <= mvab.REFERENCE_NO < pave.to_lhrs);All that had to be done is to restrict the to_LHRS from matching.
Why do you think they are duplicates? Your're merging two files and your conditions on those variables are >=, not equal to.
Art, CEO, AnalystFinder.com
Are you saying that you want:
where mvab.dirtra = pave.direction and (pave.from_lhrs <= mvab.REFERENCE_NO <= and pave.to_lhrs) ;
of course, that is if mvab.REFERENCE_NO represents the lhrs to said existed in the mvab file.
Art, CEO, AnalystFinder.com
EDIT, The solution is:
where mvab.dirtra = pave.direction and (pave.from_lhrs <= mvab.REFERENCE_NO < pave.to_lhrs);All that had to be done is to restrict the to_LHRS from matching.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.