BookmarkSubscribeRSS Feed
acordes
Rhodochrosite | Level 12

I want to resolve in one join what actually requires a secondary data step. 

In my understanding I cannot use the exists operator as fedsql on caslibs does not allow for this option. 

The following code does what it should but I want the (fedsql) to return only these rows form the left table that do not exist in the second table. 

 

proc cas;
source MPG_toyota;
    create table public.sum22{options replace=true as 
      select a.*, case when b.codopera='' then 0 else 1 end as flagy 
               from PUBLIC.JS_MTOS_V2AA a left join MKT.OUTYS b 
      on b.codopera=a.codopera    ;
endsource;
fedSQL.execDirect / query=MPG_toyota;
quit;

data public.sum22;
set public.sum22;
where flagy=0;
run;

 

4 REPLIES 4
Tom
Super User Tom
Super User

The documentation seems to clearly say that FEDSQL supports EXISTS.

https://documentation.sas.com/doc/en/pgmsascdc/v_034/fedsqlref/n0j8gspb9heiqgn1rneohxqxx3s3.htm

 

Is there some place where it is documented that you cannot use it from PROC CAS?

PGStats
Opal | Level 21

I am not a fedSQL user but for such a simple condition, you could use

 

select * from PUBLIC.JS_MTOS_V2AA
where codopera not in (select codopera from MKT.OUTYS)

No?

PG
acordes
Rhodochrosite | Level 12

Thank you, I had tried it already.

 

It returns the error:

 

ERROR: Unsupported operation in FedSQL query: IN/ANY/ALL subquery.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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
  • 4 replies
  • 890 views
  • 0 likes
  • 3 in conversation