BookmarkSubscribeRSS Feed
SASPhile
Quartz | Level 8

   there are these columns in a table: acct_number cust_id and pin.
    there are millions of records.
   but I would like to select only those which have the following combination:

   acct_nbr    cust_id    pin
    1234        111        Abc
    2345        111        pqr


   i.e if a cust_id has different acct_nbr and differt pin.

3 REPLIES 3
stat_sas
Ammonite | Level 13

proc sql;

select * from have

group by cust_id

having count(distinct acct_nbr)>1 and count(distinct pin)>1;

quit;

SASPhile
Quartz | Level 8

Thaks Stat:

  the above table have , I need to join with another table.

  the other table has cust_id and flag. and flag has values like M,L,P and blank

   I would like to get only those values where first record is M and second is a blank.

The output looks like:

acct_nbr    cust_id    pin     flag

    1234        111        Abc    M

    2345        111        pqr

jwillis
Quartz | Level 8

SASPhile,

Take the second table and find all the ID's with flag M and the ID is in Have to create table 'secondM'.  Then go back to the second table and capture all the rows that have an ID in 'secondM' creating table 'secondZ'.  All the ID's in 'secondZ' are matched to your criteria. Then join the Have and Second tables where ID's match and ID's are in 'secondZ'.

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
  • 1203 views
  • 0 likes
  • 3 in conversation