I got this error message "Subquery evaluated to more than one row" in the below codes. Anyone can help? Thanks.
data d1;
input id $ name $;
datalines;
110 Miller
111 Bush
112 Elliot
113 Ryan
;
run;
data d2;
Format DATE1 DATE9.;
input id $ date1 DATE9.;
datalines;
110 01JAN2018
111 01FEB2018
112 01MAR2018
114 01APR2018
;
run;
data d3;
Format DATE2 DATE9.;
input id $ date2 DATE9.;
datalines;
110 01JAN2017
111 01FEB2019
112 01MAR2016
113 01APR2019
;
run;
PROC SQL;
CREATE TABLE WANT AS SELECT DISTINCT
* FROM D2 WHERE ID IN (SELECT ID FROM D1)
AND DATE1 < (SELECT DATE2 FROM D3);
QUIT;
SELECT DATE2 FROM D3
will result in a list with 4 values, but you may only have one value where you use that subquery. You need to add some kind of summary action to condense D3 into one row.
I guess you wanted to restrict it to corresponding id's:
select date2 from d3 where d3.id = d2.id
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.