*hand24.txt; DATA TRANSACT; length company $10.; INPUT NAME $ @17 DATE DATE7. @28 COMPANY $ & ITEM_ID $ INVOICE ; CARDS; GRANT 02FEB95 TECH INC D34 123 FOSTER 20FEB95 XYZ INC C32 456 ; DATA SALES; LENGTH ITEM $12; INPUT NAME $ MONTH COMPID $ STATE $ ITEM $ UNITS RETAIL INVOICE ; CARDS; FOSTER 3 320 NV CABLE 6 20 456 GRANT 1 043 OR DISKS 25 5 123 ; OPTIONS NODATE LS=85 NONUMBER; PROC SQL; *inner join; SELECT * FROM WORK.SALES, WORK.TRANSACT WHERE TRANSACT.INVOICE=SALES.INVOICE; PROC SQL; *match up based on invoice #; SELECT SALES.NAME, ITEM, ITEM_ID, COMPANY, COMPID FROM WORK.SALES, WORK.TRANSACT WHERE TRANSACT.INVOICE=SALES.INVOICE; *************************************************************************************; DATA TRANSACT; length company $10.; INPUT NAME $ @17 DATE DATE7. @28 COMPANY $ & ITEM_ID $ INVOICE ; CARDS; GRANT 02FEB95 TECH INC D34 123 FOSTER 20FEB95 XYZ INC C32 456 FOSTER 20FEB95 XYZ INC D34 456 ; DATA SALES; LENGTH ITEM $12; INPUT NAME $ MONTH COMPID $ STATE $ ITEM $ UNITS RETAIL INVOICE ; CARDS; FOSTER 3 320 NV CABLE 6 20 456 FOSTER 3 320 NV DISKS 2 10 456 GRANT 1 043 OR DISKS 25 5 123 ; OPTIONS NODATE LS=85 NONUMBER; PROC SQL; *2 to 2 match; SELECT * FROM WORK.SALES, WORK.TRANSACT WHERE TRANSACT.INVOICE=SALES.INVOICE; PROC SQL; *2 to 2 match; SELECT SALES.NAME, ITEM, ITEM_ID, COMPANY, COMPID FROM WORK.SALES, WORK.TRANSACT WHERE TRANSACT.INVOICE=SALES.INVOICE; PROC SQL; *all matches; SELECT SALES.NAME, ITEM, ITEM_ID, COMPANY, COMPID FROM WORK.SALES, WORK.TRANSACT ;