Ok. You asked for it. ProperName is city name and random is the 10 digit random autonumber that I generated in an earlier step. Here's the process: I get the raw data, append it to a table with an random autonumber and then run this qry. It actually works but I've never got it to finish. I have 23 cities so would expect 460 rows to be returned. It takes about 30 minutes to get 280 records. There are only 35k records total. I am running Access 2003 on a brand new huge system with 2 GB ram and 3.2 ghz processor. Can you think of a way to streamline the process so it stops getting bogged down. Thanks. Derek
SELECT A.ProperName, A.Random, A.FACILITY_ID, A.FACILITY_VENDOR_NAME, A.PURCHASE_DATE, A.PO_NUMBER, A.MMIS_ITEM_NUMBER, A.UOM, A.ANSI_UOM, A.QUANTITY, A.QUANTITY_TO_EA, A.TOTAL_SPEND, A.COST, A.CONVERSION_FACTOR, A.COST_TO_EA, A.VENDOR_CATALOG_NO_FIXED, A.VENDOR_CATALOG_NO, A.FACILITY_ITEM_DESCRIPTION, A.VENDOR_MASTER, A.VENDOR_DIVISION, A.MANUFACTURER_ITEM_ID, A.MANUFACTURER_MASTER, A.MANUFACTURER_DIVISION, A.MANUFACTURER_CATALOG_NO, A.CLASSIFICATION_DESCRIPTION, A.CONTRACT_NUMBER, A.CONTRACT_START, A.CONTRACT_END, A.PRICE_USED, A.CONTRACT_PRICE, A.CONTRACT_PRICE_TO_EA, A.CONTRACT_DESC, A.PRODUCT_DESCRIPTION, A.CURRENT_CONTRACT_PRICE, A.CURRENT_CONTRACT_PRICE_TO_EA, A.CURRENT_CONTRACT_NUMBER, A.CURRENT_CONTRACT_NUMBER1, A.DEPARTMENT_CODE, A.DEPARTMENT_NAME, A.COST_CENTER_CODE, A.COST_CENTER_NAME
FROM randomtable AS A
WHERE a.random in (select top 20 random
From randomtable b
Where b.propername = a.propername
Order by b.random desc);