BookmarkSubscribeRSS Feed
Pyrite | Level 9

I am tring to use proc sql to select a set of data from a table.

I wish to do many combinations using where and or

for example

proc sql;

create table test as select distinct * from have

where not((x="an" and y="at") or (x="be" and y="as") or (etc.: further combinations));



it doesn't work with the or operator. Does it mean or doesn't work in proc sql or am I making

a mistake some where.

I will be grateful for any help

Garnet | Level 18

Lat's suppose that condition (x="an" and y="at") exists, then any other condition do not exist,

therefore, while checking for not(condition1 or condition2 ...) will always be false and where will never exist.


Try where not condition1 and not condition2 and not ... 

Pyrite | Level 9

Okay, thank you


Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.


Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 1 like
  • 2 in conversation