Derrick, Valter thanks for your suggestions. Valter helped me on the right path (before I read your post Derrick) with the common sense that I needed to choose another uniquely identifying value. I have the data that I need now, but I'd be grateful if you could give me your comments on the statements I wrote. I'm just getting back into this after a couple of years and I'm trying very hard to remember everything that was, at one time, second nature.Thanks again,BrianPS: "SIC" stands for "Standard Industry Classification". It's used to define American business categories./* Import SIC codes and modify the codes of primary categories */SET NOCOUNT ONif exists (select * from Tempdb..sysobjects where name LIKE N'##TEMP_SICCodes%') drop table TempDB.##TEMP_SICCodesCREATE TABLE [dbo].[##TEMP_SICCodes] ( [SIC] varchar(4) NULL, [Part] varchar(4) NULL, [Break] varchar(4) NULL, [SIC Description] [varchar] (512) NULL )INSERT INTO ##TEMP_SICCodes (SIC, Part, [Break], [SIC Description])SELECT SIC, [Part], [Break], [SIC Description]FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=naicstb2.xls;Extended Properties=Excel 8.0')...[naicstb2$]WHERE SIC IS NOT NULLPRINT CAST(@@ROWCOUNT AS varchar) + ' records imported from spreadsheet'UPDATE ##TEMP_SICCodes SET SIC = '0' + (SIC) WHERE LEN(SIC) = 1PRINT CAST(@@ROWCOUNT AS varchar) + ' records changed to add leading zero to single digit SIC''s'UPDATE ##TEMP_SICCodes SET SIC = (SIC) + '00' WHERE LEN(SIC) = 2PRINT CAST(@@ROWCOUNT AS varchar) + ' records changed to add two trailing zero''s to double digit SIC''s'/* Create SICPri table from top level categories */if exists (select * from dbo.sysobjects where id = object_id(N'[SICPri]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [SICPri]CREATE TABLE [dbo].[SICPri] ( [SIC] [char] (2) NOT NULL PRIMARY KEY, [SICDesc] [varchar] (512) )INSERT INTO SICPri (SIC, SICDesc)SELECT DISTINCT LEFT(SIC,2) AS 'SIC', [SIC Description] AS 'SICDesc'FROM ##TEMP_SICCodesWHERE [SIC] IS NOT NULL AND RIGHT([SIC],2) = '00'PRINT CAST(@@ROWCOUNT AS varchar) + ' records imported from temp table to SICPri table'/* Create SICSec table with all UNIQUE second level categories */if exists (select * from dbo.sysobjects where id = object_id(N'[SICSec]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [SICSec]CREATE TABLE [dbo].[SICSec] ( [SIC] [char] (2) NOT NULL, [SICSec] [char] (2) NOT NULL, [SICDesc] [varchar] (512) NOT NULL )INSERT INTO SICSec (SIC, SICSec, SICDesc)SELECT DISTINCT LEFT(SIC,2) AS 'SIC', RIGHT(SIC,2) AS 'SICSec', [SIC Description] AS 'SICDesc'FROM ##TEMP_SICCodesWHERE RIGHT([SIC],2) != '00' AND [Part] IS NULL AND [Break] IS NULLPRINT CAST(@@ROWCOUNT AS varchar) + ' records imported from temp table to secondary SIC table'