Any help to resolve this issue? Getting an error like unexpected 'on' at line number 4
update pre_claim_lin_1_test pci set pci.LINE_DIA_PRIM_DESC = diag.description from (select max(description) description from COMDB.ON_DATA.MR_DIAGNOSIS_CODE c inner join raw.prepa_claim_inst r on r.PRINCIPAL_DIAG = c.DIAGNOSI_CODE where c.ICD1_INDICATOR<>'N')diag on 1=1 and pci.id =7828 ;
If I tried to remove ON and add WHERE, I'm getting an error like invalid field diag.description
update pre_claim_lin_1_test pci set pci.LINE_DIA_PRIM_DESC = diag.description from (select max(description) description from COMDB.ON_DATA.MR_DIAGNOSIS_CODE c inner join raw.prepa_claim_inst r on r.PRINCIPAL_DIAG = c.DIAGNOSI_CODE where c.ICD1_INDICATOR<>'N')diag where pci.id =7828 ;
data test;
set sashelp.class;
age=.;
run;
proc sql;
update test a
set age = (select age from sashelp.class as b where a.name = b.name);
quit;
Can you try something similar to this?
Create a temporary table first where you select the max description and use that table in the set statement.
If you have some sample data, please share it, and I can show you a practical example with your data.
Please post the complete log, so we can see the position of the error indicator.
Replace the <> with the NE mnemonic. In SAS, <> is the MAX operator.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.