BookmarkSubscribeRSS Feed
Babloo
Rhodochrosite | Level 12

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 ;

 

3 REPLIES 3
Mazi
Pyrite | Level 9
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.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1071 views
  • 0 likes
  • 3 in conversation