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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.