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.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.